Skip to main content
All docs
V25.1
  • DxWindow.Closing Event

    Fires before the Window is closed.

    Namespace: DevExpress.Blazor

    Assembly: DevExpress.Blazor.v25.1.dll

    NuGet Package: DevExpress.Blazor

    Declaration

    [Parameter]
    public EventCallback<WindowClosingEventArgs> Closing { get; set; }

    Event Data

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

    Property Description
    Cancel Gets or sets a value indicating whether the event should be canceled. Inherited from CancelEventArgs.
    CancellationToken Specifies an object that propagates a cancellation notification.
    CloseReason Identifies the action that closes the Window.

    Remarks

    Handle the Closing event to process close actions. Use the event argument’s CloseReason property to identify which action closes the Window. You can set the Cancel property to true to cancel a close action.

    Close Reason Description
    CloseButtonClick A user clicks a custom Close button (if you called the predefined CloseCallback to create this button).
    EscapePress A user presses Escape.
    Programmatically You set the Visible property to false or call the CloseAsync method.

    You can also handle the Closed event that fires after the Window is closed. 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