Skip to main content

DxPopupBase.Closing Event

Fires before the Popup is closed.

Namespace: DevExpress.Blazor

Assembly: DevExpress.Blazor.v23.2.dll

NuGet Package: DevExpress.Blazor

Declaration

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

Event Data

The Closing event's data class is PopupClosingEventArgs. 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 Popup.

Remarks

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

Close Reason Description
CloseButtonClick A user clicks the Close button in the Popup header or clicks a custom button (if you call the predefined CloseCallback to create this button).
EscapePress A user presses Escape.
OutsideClick A user clicks outside the Popup’s boundaries.
Programmatically You set the Visible property to false or call the CloseAsync method.

You can also handle the Closed event that fires after the Popup 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 Popup until a user enables the checkbox in the footer.

Blazor Popup Close Events

<div @onclick="@(() => EulaVisible = true)">
    <p>CLICK TO SHOW A POP-UP WINDOW</p>
</div>

<DxPopup @bind-Visible="@EulaVisible"
         ShowFooter="true"
         HeaderText="DevExpress EULA"
         Closing="EulaPopupClosing"
         Closed="EulaPopupClosed">
    <BodyContentTemplate>
        <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>
    </BodyContentTemplate>
    <FooterContentTemplate Context="Context">
        <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" />
    </FooterContentTemplate>
</DxPopup>
@code {
    bool EulaAccepted { get; set; }
    bool EulaVisible { get; set; }

    void EulaPopupClosed(PopupClosedEventArgs args) {
        EulaAccepted = false;
    }
    void EulaPopupClosing(PopupClosingEventArgs args) {
        args.Cancel = !EulaAccepted;
    }
}

Run Demo: Popup - Response to Show and Close Actions

See Also