2014-07-01 137 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