处理WPF退出事件

时间:2011-10-10 18:48:53

标签: wpf events client-server exit

我想知道是否有办法处理WPF应用程序退出事件,以便取消退出。用例是我有一个客户端 - 服务器情况,其中服务器是WPF应用程序。我希望WPF应用程序在关闭时通知客户端,但取消关闭过程。客户端应该收到关闭通知,进行自己需要的清理,然后通过请求请求WPF应用程序关闭。

这可能吗?

2 个答案:

答案 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

相关:Handling System Shutdown in WPF