2011-10-10 159 views
12

我想知道是否有辦法處理WPF應用程序退出事件,使退出被取消。用例是我有一個服務器是WPF應用程序的客戶端 - 服務器情況。我希望WPF應用程序在關閉時通知客戶端,但取消關閉過程。客戶端應該收到關閉通知,執行自己的必要清理,然後通過請求要求WPF應用程序關閉。處理WPF退出事件

這可能嗎?

+0

如果客戶端不要求服務器關閉,你會怎麼做? – Paparazzi

回答

31

您可以掛鉤事件關閉主窗口上這樣的 -

<Window Closing="Window_Closing"> 

而在你的事件設置e.Cancel爲true,從關閉停止窗口。在你的情況下,你可以維護一些字段,一旦你從客戶端收到通知,他已經完成了cleanUp及其安全現在關閉窗口,將設置一些字段。只需將該值設置爲e。取消

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