Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从HomeWindow注销到MainWindow_C#_Wpf - Fatal编程技术网

C# 从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

我有两个wpf窗口:MainWindow.xaml,用户将在其中登录,Homewindow.xaml在成功登录时显示。HomeWndow.xaml中的菜单项具有注销选项。当用户从HomeWindow注销时,我希望显示MainWindow以重新启动登录过程。在AppLogOut_内部单击按钮,如果我使用这个.Close()它会同时关闭MainWindow.xaml和HomeWindow.xaml,如果我使用App.Current.MainWindow.Close(),它不会关闭HomeWindow并打开MainWindow。这是我的密码。任何帮助都将不胜感激

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()''它创建新对象,如何显示隐藏的同一窗口?