我想知道是否有办法处理WPF应用程序退出事件,以便取消退出。用例是我有一个客户端 - 服务器情况,其中服务器是WPF应用程序。我希望WPF应用程序在关闭时通知客户端,但取消关闭过程。客户端应该收到关闭通知,进行自己需要的清理,然后通过请求请求WPF应用程序关闭。
这可能吗?
答案 0 :(得分:33)
您可以像这样挂钩主窗口上的事件Closing -
<Window Closing="Window_Closing">
在您的活动中将e.Cancel设置为true以阻止窗口关闭。在您的情况下,您可以维护一些字段,一旦您收到客户通知他已完成cleanUp并立即安全关闭窗口,将设置该字段。只需将该值设置为e.Cancel
即可private void Window_Closing(object sender, CancelEventArgs e)
{
e.Cancel = true;
}
答案 1 :(得分:0)
如果您想要停止关闭操作系统,或至少在此之前进行清理,则需要处理Application.SessionEnding。