如何知道窗口是否被"x"按钮关闭?

vts*_*123 9 wpf window

有谁知道如何找出wpf窗口是否被"x"按钮关闭?

Ala*_*tts 11

最简单的方法(在我看来)是存储一个布尔值,表明用户是否通过其他方法关闭了表单.

然后在OnClosing事件中,检查布尔值是否为false(表示单击了x按钮).

唯一的问题是你自己设置了布尔值.这可能取决于用户关闭表单的其他方式.

编辑:我应该指出,这高度依赖于表格可以关闭的其他方式.如果您有许多通过调用Window.Close()关闭此窗口的方法,我会考虑创建一个名为UserClose()的方法,它为您执行布尔设置.

public void UserClose()
{
    NonXClose = true;
    this.Close();
}
Run Code Online (Sandbox Code Playgroud)

这将允许外部代码关闭窗口,并设置布尔值.