开发者

Handle a WPF Exit Event

开发者 https://www.devze.com 2023-04-12 05:24 出处:网络
I was wondering if there was a way to handle a WPF Application Exit 开发者_运维百科event such that the exit was cancelled. The use case is that I have a client-server situation where the server is a W

I was wondering if there was a way to handle a WPF Application Exit 开发者_运维百科event such that the exit was cancelled. The use case is that I have a client-server situation where the server is a WPF app. I want the WPF app to notify the client when it is shutting down, but cancel the shutdown process. The client should receive the shutdown notification, do its own required cleanup and then ask the WPF app to shutdown via a request.

Is this possible?


You can hook the event Closing on your main window like this -

<Window Closing="Window_Closing">

And in your event set the e.Cancel to true to stop the window from closing. In your case you can maintain some field which will be set once you get notification from client that he's done with cleanUp and its safe now to close the window. Simply set that value to e.Cancel

private void Window_Closing(object sender, CancelEventArgs e)
{
   e.Cancel = true;
}


If you want stop the operating system being shut down, or at least clean up before it does, you need to handle the Application.SessionEnding.

Related: Handling System Shutdown in WPF

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号