C# 从HomeWindow注销到MainWindow
我有两个wpf窗口:MainWindow.xaml,用户将在其中登录,Homewindow.xaml在成功登录时显示。HomeWndow.xaml中的菜单项具有注销选项。当用户从HomeWindow注销时,我希望显示MainWindow以重新启动登录过程。在AppLogOut_内部单击按钮,如果我使用这个.Close()它会同时关闭MainWindow.xaml和HomeWindow.xaml,如果我使用App.Current.MainWindow.Close(),它不会关闭HomeWindow并打开MainWindow。这是我的密码。任何帮助都将不胜感激C# 从HomeWindow注销到MainWindow,c#,wpf,C#,Wpf,我有两个wpf窗口:MainWindow.xaml,用户将在其中登录,Homewindow.xaml在成功登录时显示。HomeWndow.xaml中的菜单项具有注销选项。当用户从HomeWindow注销时,我希望显示MainWindow以重新启动登录过程。在AppLogOut_内部单击按钮,如果我使用这个.Close()它会同时关闭MainWindow.xaml和HomeWindow.xaml,如果我使用App.Current.MainWindow.Close(),它不会关闭HomeWindow
private void HmWindow_Closing(object sender, CancelEventArgs e)
{
MessageBoxResult result = MessageBox.Show(this, "Are you sure you want to exit?", "Confirm!", MessageBoxButton.YesNo, MessageBoxImage.Question);
if (result == MessageBoxResult.Yes)
{
Application.Current.Shutdown();
}
}
private void AppLogOut_Click(object sender, RoutedEventArgs e)
{
MainWindow mw = new MainWindow();
mw.InitializeComponent();
mw.Show();
//this.Close();
App.Current.MainWindow.Close();
}
private void AppExit_Click(object sender, RoutedEventArgs e)
{
Application.Current.Shutdown();
}
这一切都取决于环境。默认值为OnLastWindowClosed,如果关闭最后一个打开的窗口,将强制关闭应用程序。这一切都取决于。默认值为OnLastWindowClosed,如果关闭最后一个打开的窗口,这将强制应用程序关闭。请尝试使用mw.Hide()隐藏主窗口,而不是在登录时关闭主窗口;当您注销时,请将其取消隐藏查看
App.ShutdownMode
,这应该是您关闭特定应用程序时应用程序完全关闭的最可能原因window@DenisSchaf,所以如果我这样做。Hide(),我需要从HomeWindow中取消隐藏主窗口,我如何取消隐藏同一个窗口?如果我做了“HomeWindow hw=新建HomeWindow()”;hw.show()“”“它创建了新对象,如何显示我隐藏的同一个窗口?与其在登录时关闭主窗口,不如尝试使用mw.hide()隐藏它;当您注销时,请将其取消隐藏查看App.ShutdownMode
,这应该是您关闭特定应用程序时应用程序完全关闭的最可能原因window@DenisSchaf,所以如果我这样做。Hide(),我需要从HomeWindow中取消隐藏主窗口,我如何取消隐藏同一个窗口?如果我做了“HomeWindow hw=新建HomeWindow()”;show()''它创建新对象,如何显示隐藏的同一窗口?