我正在研究WPF项目,假设我有两个windows window1,window2,window1调用window2:在window1代码后面:
Window2 _window2 = new Window2();
_window2.ShowDialog();
我想知道在打开secound窗口(window2)后如何关闭第一个窗口(window1)?
答案 0 :(得分:0)
在关闭主窗口(如果是)之前,您需要先告诉应用程序哪个是主窗口。根据关闭模式,如果关闭主窗口,则会关闭应用程序。您可以使用Application.Current.MainWindow属性进行设置。 See Here.
如果您希望在打开第二个窗口后关闭第一个窗口,则需要挂钩事件,或者最好还是使用解耦消息系统来通知第二个窗口打开第二个窗口。
答案 1 :(得分:0)
<强> Form1中:强>
Window2 _window2 = new Window2();
this.Hide(); //Hides Form 1
_window2.ShowDialog();
另见: Close a Window from Another In Wpf 如果你想让window1关闭。
答案 2 :(得分:0)
如果“Window1”不是您的主窗口,您只需输入此
即可Window2 _window2 = new Window2();
_window2.Show();
this.Close();
如果您的表单是主要表单而不是引用 (Windows Forms: Change application mainwindow at runtime)