我是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>
关于我能做什么或做错什么的任何建议?
答案 0 :(得分:1)
问题是因为您仍然打开了登录窗口。
您可以做的是覆盖OnClose事件,然后在关闭主窗口时强制关闭应用程序。在MainWindow.xaml.cs中写下
protected override void OnClosed(EventArgs e)
{
base.OnClosed(e);
Application.Current.Shutdown();
}
Application.Current.Shutdown()
将确保在主窗口关闭时关闭所有窗口。