2011-04-27 51 views
4

當應用程序關閉時,我在WPF MainWindow1.Xaml中有一個函數。但在未知情況下,用戶可以用另一種方式關閉應用程序,然後使用「文件>關閉」按鈕。我只需要在「Closing」方法中知道當前的MainWindow1.xaml是否已經處理完畢。但我找不到任何財產。如何確定窗口是否配置

你能幫我嗎?

回答

1

您可以附加到上的Closed活動。 當這個事件被稱爲窗戶關閉 。其實我必須糾正:根據the MSDN documentation這隻意味着當這個事件被調用時你不能阻止窗口關閉。
如果聽Closed事件不是足夠好,那麼這是另一種選擇:How do you tell if a WPF Window is closed?

+1

感謝您的回覆ChrisWue。我會嘗試這種方式:''與MainWindow1.IsLoaded屬性... – goldengel 2011-04-27 13:53:24

+0

不起作用。看到這裏的情況:[鏈接](http://www.goldengel.ch/temp/WPF%20Window%20is%20closing%20disposing.png) – goldengel 2011-04-27 14:56:56

+0

我認爲你正試圖調用關閉窗口,而它已經是收盤。我不確定你的目標是什麼,也許你可以解釋更多。 – ChrisWue 2011-04-27 19:53:20

5

您可以嘗試

var source = PresentationSource.FromVisual(yourWindow) 

如果source爲空或source.IsDisposed == true,這將表明你的窗口已經關閉。

+0

'source.IsDisposed'將始終爲'false',否則'PresentationSource.FromVisual'將不會返回源。 – tm1 2015-12-15 10:44:40