我已经在窗口上设置了关闭事件,如果我的验证出错了显示消息但是我想关闭顶部带有X按钮的窗口,他会做同样的事情,显示我的消息如何避免这种情况并关闭X按钮上的窗口,我可以通过此按钮绕过Closing Event我不是在做MVVM应用吗?
答案 0 :(得分:1)
您确实可以使用Closing
事件来连接某些验证。无论是通过调用Close()
,使用“X”关闭按钮还是按 Alt + F4 ,只要窗口即将关闭,此事件就会触发。此事件也可以取消,这将使窗口保持打开状态。
例如:
class MyWindow : Window
{
protected override void OnClosing(CancelEventArgs e)
{
base.OnClosing(e);
e.Cancel = !IsValid(); // your validation code
}
}