如果我已经触发了关闭事件,用关闭(x)按钮关闭窗口

本文关键字:窗口 按钮 事件 如果 | 更新日期: 2023-09-27 17:57:47

我已经在窗口上设置了关闭事件,如果我的验证出错,它会显示消息,但我想用顶部的X按钮关闭窗口,他也做了同样的事情,向我展示了如何避免这种情况,并用X按钮关闭窗口,我可以用这个按钮绕过关闭事件吗?我不是在做MVVM应用程序?

如果我已经触发了关闭事件,用关闭(x)按钮关闭窗口

您确实可以使用Closing事件来连接一些验证。每当窗口即将关闭时,无论是通过调用Close()、使用"X"关闭按钮还是点击Alt+F4,都会触发此事件。此事件也可以取消,这将使窗口保持打开状态。

例如:

class MyWindow : Window
{
    protected override void OnClosing(CancelEventArgs e)
    {
        base.OnClosing(e);
        e.Cancel = !IsValid(); // your validation code
    }
}