SignInWindow signIn= new SignInWindow();
signIn.ShowDialog();
上面的代码在我的MainWindow类中。
当显示新窗口时,我想要关闭当前窗口。这是最好的方法吗?
我的应用程序是一个C#WPF应用程序
我试过这个,但是当它被调用时,我的应用程序退出
static private void CloseAllWindows()
{
for (int intCounter = App.Current.Windows.Count - 1; intCounter >= 0; intCounter--)
App.Current.Windows[intCounter].Close();
}
答案 0 :(得分:15)
这样做:
this.Close();
SignInWindow signIn = new SignInWindow();
signIn.ShowDialog();
请记住,实际上关闭 MainWindow
。如果您想要做的只是隐藏它,那么请执行以下操作:
this.Hide();
SignInWindow signIn = new SignInWindow();
signIn.ShowDialog();
this.Show();
当登录表单启动时,隐藏 MainWindow
,但是当它完成时再次显示。
好的,显然你是从表格 的static class
发布此表单。这本来是非常相关的信息。但解决方案是:
var w = Application.Current.Windows[0];
w.Hide();
SignInWindow signIn = new SignInWindow();
signIn.ShowDialog();
w.Show();
答案 1 :(得分:2)
你可以试试这个:
SignInWindow signIn= new SignInWindow();
Application.Current.Windows[0].Close();
signIn.ShowDialog();
答案 2 :(得分:1)
这是一种重定向代码。它将关闭当前窗口/页面并重定向到wpf
中的新页面/窗口SignWindow sw = new SignWindow();
this.Content = sw;
答案 3 :(得分:0)
Mike Perrenoud的回答是100%完美的,尽管您可能想要在关闭主窗口之前创建新窗口的对象并将其激活。