Skip to main content

DxWindow.Closed Event

Fires after the Window is closed.

Namespace: DevExpress.Blazor

Assembly: DevExpress.Blazor.v23.2.dll

NuGet Package: DevExpress.Blazor

Declaration

[Parameter]
public EventCallback<WindowClosedEventArgs> Closed { get; set; }

Event Data

The Closed event's data class is WindowClosedEventArgs. The following properties provide information specific to this event:

Property Description
CancellationToken Specifies an object that propagates a cancellation notification.

Remarks

Handle the Closed event to process close actions. This event occurs in the following cases:

  • A user closes the Window: clicks the Close button, clicks outside the Window boundaries, or presses Escape.
  • You set the Visible property to false.
  • You call the CloseAsync method.
  • The Window is closed in a custom way (the CloseCallback is called from any template).

You can also handle the Closing event that fires before the Window is closed and allows you to cancel this action. To process show actions, handle the Showing and Shown events.

In the following example, neither the Close button in the header nor the custom OK button closes the Window until a user enables the checkbox in the footer:

<DxButton Id="showDDbtton" Click="() => IsOpen = true">SHOW A WINDOW</DxButton>
<DxWindow Width="400"
            @bind-IsOpen="@IsOpen"
            ShowFooter="true"
            HeaderText="DevExpress EULA"
            Closing="EulaClosing"
            Closed="EulaClosed">
    <BodyTextTemplate>
        <p>
            The terms of our license are fully outlined/described in the Developer Express Inc End User
            License Agreement (EULA) included with our product installations. Before you can install and use
            a Developer Express Inc product, you must read, understand and accept the terms/conditions of
            our EULAs. <a target="" _blank"" rel="" noopener noreferrer"" href="" https: //www.devexpress.com/support/eulas/"">More info...</a>
        </p>
    </BodyTextTemplate>
    <FooterTextTemplate>
        <DxCheckBox style="margin-left: 0; margin-right: auto;" @bind-Checked="@EulaAccepted">
            I accept the terms of the EULA
        </DxCheckBox>
        <DxButton RenderStyle="ButtonRenderStyle.Primary" Text="OK" Click="context.CloseCallback" />
    </FooterTextTemplate>
</DxWindow>

@code {
    bool IsOpen { get; set; } = false;
    bool EulaAccepted { get; set; }

    void EulaClosing(WindowClosingEventArgs args) {
        if (args.CloseReason == WindowCloseReason.Programmatically) {
            args.Cancel = !EulaAccepted;
        }
    }
    void EulaClosed(WindowClosedEventArgs args) {
        EulaAccepted = false;
    }
}
See Also