當我的程序正在關閉時(由Application.Shutdown()啓動),我正在捕獲主窗口上的Closing事件。在處理程序中,我創建一個對話框,詢問用戶是否想保存他們的工作。在這種特定情況下,用戶不能取消應用程序關閉事件,這對我來說很好。在調用Application.Shutdown()之後,使用ShowDialog顯示窗口不起作用
我發現如果我通過ShowDialog啓動「想要保存」窗口,窗口永遠不會顯示。但是,MessageBox.Show確實顯示一個窗口。這是應用程序關閉期間的預期行爲?我無法在有關此行爲的文檔中找到任何內容。如果有人能指點我相關的文件或對這個問題的詳細答案,那會很好。
那麼這將使一些感覺呢。文檔中有關於此的任何內容? – skybluecodeflier
@skybluecodeflier當然 - .NET源代碼。這裏是Application.Shutdown在幾個方法調用後最終到達Dispatcher.CriticalInvokeShutdown的行。 http://referencesource.microsoft.com/#PresentationFramework/Framework/System/Windows/Application.cs,2502 – hoodaticus