处理WPF退出事件

soh*_*hum 15 wpf events client-server exit

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

这可能吗?

Roh*_*ats 33

您可以像这样挂钩主窗口上的Closing事件 -

<Window Closing="Window_Closing">
Run Code Online (Sandbox Code Playgroud)

在您的活动中,将e.Cancel设置为true以阻止窗口关闭.在您的情况下,您可以维护一些字段,一旦您收到客户通知他已完成cleanUp并立即安全关闭窗口,将设置该字段.只需将该值设置为e.Cancel即可

private void Window_Closing(object sender, CancelEventArgs e)
{
   e.Cancel = true;
}
Run Code Online (Sandbox Code Playgroud)