Skip to main content
All docs
V25.1
  • DevExpress v25.1 Update — Your Feedback Matters

    Our What's New in v25.1 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

    Take the survey Not interested

    WindowCloseReason Enum

    Lists actions that close the Window.

    Namespace: DevExpress.Blazor

    Assembly: DevExpress.Blazor.v25.1.dll

    NuGet Package: DevExpress.Blazor

    #Declaration

    C#
    public enum WindowCloseReason

    #Members

    Name Description
    Programmatically

    You set the Visible property to false or call the CloseAsync method.

    EscapePress

    A user presses Escape.

    CloseButtonClick

    A user clicks a custom Close button (if you called the predefined CloseCallback to create this button).

    #Related API Members

    The following properties accept/return WindowCloseReason values:

    #Remarks

    You can handle the Window’s Closing event to process close actions. The event argument’s CloseReason property identifies which action closes the Window. The property returns one of the WindowCloseReason enumeration values. You can set the Cancel property to true to cancel a close action.

    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:

    Razor
    <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