2014-03-03 138 views
-2

即使關閉,我仍然有一個WPF窗口,它仍然存在於Application.Current.Windows中。我嘗試使用Window關閉按鈕和this.Close()關閉它,但是,當我遍歷Application.Current.Windows中的項目時,它仍然存在。可能是什麼問題?沒有線程在運行,如果有幫助的話。窗口的可見性爲CollapsedIsActive屬性爲false。謝謝。即使在關閉後WPF窗口仍然打開

回答

4

的窗口參考應被刪除,as per MSDN

窗口引用被自動一旦一個 窗口的用戶界面(UI)線程上實例化添加到視窗;不會添加由工作線程創建的 窗口。一個窗口引用是 在處理其關閉事件後自動刪除,並且 在引發其關閉事件之前自動刪除。

所以我會問你如何關閉它,以及你在哪裏檢查它的參考。我建議你可能會這樣做/檢查它是錯誤的。如果你能向我們展示一些實際的邏輯,可能會更清楚。

+0

指向MSDN的鏈接?我會考慮鏈接腐爛。 –

+3

除了__包含我的答案中的相關部分__。說真的,這太可悲了,羅伊。非常幼稚 - [報復此](http://stackoverflow.com/a/22145619/263681),所以任何人都可以看穿你。 –

+0

@GrantThomas對不起,回覆晚了。正如我所提到的,我正在使用窗口關閉按鈕關閉它。我也在頁面上有一個按鈕,通過調用Close()關閉窗口。我還沒有弄清楚實際問題是什麼。奇怪的是,窗口的所有屬性都是空的,除了一個,向下鑽取導致Dispatch對象。現在我只是瀏覽Application.Current.Windows中的所有窗口,如果標題和名稱爲空,我將通過調用Close()再次關閉它。這已經解決了暫時的問題。 – Fahad