按下关闭时如何在VS17中停止调试?

时间:2017-10-03 18:19:24

标签: c# wpf xaml

我是WPF的新手,我正在尝试了解如何在不同的窗口之间进行转换。

我目前有两个窗口:LoginWindow和MainWindow。 LoginWindow首先打开并转换到MainWindow。但是,当发生这种情况并按下关闭时,VS17中的调试不会停止。为什么这样,我怎样才能使它正常工作?我看了一下,但发现了这个:

<Application.MainWindow>
   <NavigationWindow Source="MainWindow.xaml" Visibility="Visible"/>
</Application.MainWindow>

但它似乎不起作用。 VS只是进入&#34;休息模式&#34; ... :(

这就是我的App.xaml目前的样子

<Application x:Class="LearningWPF.App"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:local="clr-namespace:LearningWPF"
         StartupUri="LoginWindow.xaml">

<Application.MainWindow>
    <NavigationWindow Source="MainWindow.xaml" Visibility="Visible"/>
</Application.MainWindow>

<Application.Resources>

</Application.Resources>

关于我能做什么或做错什么的任何建议?

1 个答案:

答案 0 :(得分:1)

问题是因为您仍然打开了登录窗口。

您可以做的是覆盖OnClose事件,然后在关闭主窗口时强制关闭应用程序。在MainWindow.xaml.cs中写下

protected override void OnClosed(EventArgs e)
{
    base.OnClosed(e);

    Application.Current.Shutdown();
}

Application.Current.Shutdown()将确保在主窗口关闭时关闭所有窗口。