我在XAML文件的Window
节中有以下行:
Closing="Window_Closing"
我原本以为网页here向我保证,当您使用系统菜单中的big X
关闭方法Alt-F4
或close
时,此事件会触发似乎并非如此,因为Window_Closing()
函数上的断点没有被击中。
当我执行File
,Exit
退出方法时, 点击了断点,以便正常工作。
重新阅读该链接页面让我相信它可能不会触发结束事件。
我的问题是:
如何捕获列出的三种方法,以便检测文件是否脏,需要保存?我完成了所有'脏'和文件保存代码,我只需要知道如何捕获事件。
你能用这种方法阻止退出(你可以通过拦截结束事件)吗?换句话说,如果用户说他们不想退出,因为在错误的窗口上意外使用Alt-F4
,可以这样做吗?
答案 0 :(得分:2)
根据Closing事件的文档页面:
如果会话因用户登录而结束 关闭或关闭,关闭不是 提高;处理SessionEnding到 实现取消的代码 申请结束。
因此,您需要确保处理SessionEnding事件以及Closing事件。 SessionEnding事件可用于自动将当前状态保存到临时文件中,该文件将在下次应用程序启动时再次加载。但是如果你想提示用户,你可以在SessionEnding中使用模式对话框,但他们可能会看到警告无响应应用程序的Windows屏幕,让他们有机会终止进程而不响应你的对话框。 / p>
答案 1 :(得分:0)
尝试使用已结束的活动:Closed="Window_Closing"