WPF无法隐藏另一个窗口

时间:2010-07-20 18:39:30

标签: c# wpf

我试图从另一个窗口隐藏窗口MainWindow。我认为以下代码可以工作,直到我意识到它只会创建MainWindow的另一个实例,然后隐藏它,而不是原始窗口!

MainWindow MainWindow = new MainWindow();
MainWindow.Hide();

然后我尝试只使用MainWindow.Hide(),但这不起作用。我该怎么办?

2 个答案:

答案 0 :(得分:1)

您需要获取要隐藏的Window的实际实例。如果(通过名称猜测)这是您的主窗口,您可以尝试:

Application.Current.MainWindow.Hide();

否则,您需要一些方法来获取要隐藏的窗口的特定实例。

答案 1 :(得分:1)

如果您想要隐藏的窗口是从MainWindow打开的:

//Main Window
private void OpenChildWindow()
{
     ChildWindow child = new ChildWindow();
     child.Show();
     child.Owner = this;

}

//Child Window
private void CloseMainWindow()
{
     ((Window)Parent).Hide();
}