2014-07-01 175 views
0

這是我的問題:我有我的第一個WPF窗口,並且在更改Combobox的SelectedItem的值時創建了第二個窗口。而且我想關閉當我再次更改值時創建的窗口。我嘗試這樣做:無法關閉WPF中的窗口C#

var cCEntityWindow = new Windows.CCEntityWindow(dptList); 
cCEntityWindow.CloseWindow(); 

從我的第一個窗口的代碼隱藏,但它不工作,所以我在第二個窗口中創建一個簡單的方法:

public void CloseWindow() 
    { 
     this.Close(); 
    } 

,我把它從我的第一個窗口,但它也不起作用,我不知道爲什麼!

我該怎麼做?

回答

3

您應該從要關閉的窗口調用this.Close(),而不是從另一個窗口關閉。你可以試試這個方法,通過傳遞windowName

Window wintoclose = Application.Current.Windows.OfType<Window>().SingleOrDefault(w => w.Name == "Window Name"); 
wintoclose.Close(); 
+0

我的方法「CloseWindow」位於我想關閉的窗口上,而我從另一個窗口調用它。我會用窗口名稱來嘗試你的metod,否則。 – T2o

+0

你的方法可行,謝謝你的幫助,我自己也弄不明白。 – T2o