Declined
Last Updated: 31 Mar 2026 09:43 by ADMIN
Keith
Created on: 27 Mar 2026 14:59
Category: UI for Blazor
Type: Bug Report
1
TelerikWindow reappearing with each OnClick event from different components

Issue: Opening and closing a window will cause the window to reopen with each following OnClick. This seems to have been introduced with the upgrade to .net10

Code: Below is an example used on the basic Telerik Blazor template. Copy this and replace Home.razor with it.

@page "/"

<PageTitle>Telerik Blazor App | Home</PageTitle>

<div id="home-page">
    <HomeSvg />

    <h1>Hello, Telerik UI for Blazor!</h1>

    <p>Welcome to your new Telerik Blazor app.</p>

    <TelerikButton OnClick="OpenWindow1">Click Here First</TelerikButton>
    <TelerikButton OnClick="OpenWindow2">Click Here Second</TelerikButton>
    <TelerikButton OnClick="@(async () => {await Task.Delay(100);})">Unrelated OnClick</TelerikButton>


</div>

<TelerikWindow Visible="ShowWindow1">
    <WindowActions>
        <WindowAction OnClick="CloseWindow1" Name="Close"></WindowAction>
    </WindowActions>
    <WindowContent>
        <span>Moving window now will help find this window in next step, but not necessary to replicate bug.</span>
        <br />
        <span>Close window using 'X'.</span>
    </WindowContent>
</TelerikWindow>

<TelerikWindow Visible="ShowWindow2">
    <WindowActions>
        <WindowAction OnClick="CloseWindow2" Name="Close"></WindowAction>
    </WindowActions>
    <WindowContent>
        <span>Window 1 shouldn't be appearing now, but it it is. Window 1 may be behind this window if you didn't drag in previous step.</span>
        <br />
        <span>If you close these windows, and click the 'Unrelated OnClick' button, both of these windows will reappear, despite just firing Task.Delay(100)</span>
    </WindowContent>
</TelerikWindow>

<style>
    #home-page {
        margin-left: auto;
        margin-right: auto;
        max-width: max-content;
        text-align: center;
        font-size: var(--kendo-font-size-xl);
    }

    @@media (min-height: calc(56px + 50px + 400px)) {
        /* header + footer + home page container*/
        #home-page {
            margin-top: calc(50vh - 28px - 25px - 200px);
        }
    }
</style>

@code {
    public bool ShowWindow1 { get; set; }
    public bool ShowWindow2 { get; set; }

    public async Task OpenWindow1()
    {
        ShowWindow1 = true;
    }

    public async Task OpenWindow2()
    {
        ShowWindow2 = true;
    }

    public void CloseWindow1()
    {
        ShowWindow2 = false;
        StateHasChanged();
    }

    public void CloseWindow2()
    {
        ShowWindow2 = false;
    }
}


3 comments
ADMIN
Dimo
Posted on: 31 Mar 2026 09:43

Hi Keith,

Yes, you need to use two-way binding (@bind-Visible) for the Window Visible parameter or the VisibleChanged event. Otherwise the Window cannot change the parameter value and the related component state (i.e. visibility) is reset on each UI refresh.

The old Window configuration was invalid for your use case and has worked by chance in the past.

Regards,
Dimo
Progress Telerik

Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.

Keith
Posted on: 30 Mar 2026 21:27
I found that using @bind-Visible in TelerikWindow fixed this issue. Visible worked fine with .net8 and before, but this will cause issues after upgrading to .net10
Keith
Posted on: 30 Mar 2026 19:42
Playing around with this more, I noticed there is a typo in the original post. Replace CloseWindow1() with the following code:

    public void CloseWindow1()
    {
        ShowWindow1 = false;
        StateHasChanged();
    }
Issue persists regardless. The issue doesn't seem to pop up using https://blazorrepl.telerik.com/, but I'm not really sure how this differs from the Telerik C# Blazor Application template.