示例:WPF中如何在主窗口显示之前增加一个登录窗口
一、目的:开发过程中,经常需要先显示一个登录窗口,当登录成功时显示主窗口,那么如何设置登录窗口显示的时机和顺序,本文介绍我常用的方式
二、实现
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
MainWindow mainWindow = new MainWindow();
LoginWindow loginWindow = new LoginWindow();
var r = loginWindow.ShowDialog();
if (r != true)
{
this.Shutdown();
return;
}
mainWindow.Show();
}
}
在App里面重写OnStartup方法,注意这里要先 MainWindow mainWindow = new MainWindow();,之后去显示登录窗口,其中的原因可能是App默认的ShutDownMode是OnLastWindowClose,如果不将MainWindow在之前new出来,当登录窗口关闭时就会触发OnLastWindowClose从而程序退出,OnMainWindowClose模式也是如此。
除此之外注意把App.xaml中StarupUri去掉,否者登录后会显示两个窗口
三、环境
VS2022
四、示例
五、需要了解的知识点
Application 类 (System.Windows) | Microsoft Learn
Application.ShutdownMode 属性 (System.Windows) | Microsoft Learn
Window 类 (System.Windows) | Microsoft Learn
六、源码地址
GitHub - HeBianGu/WPF-ControlDemo: 示例
GitHub - HeBianGu/WPF-ControlBase: Wpf封装的自定义控件资源库
GitHub - HeBianGu/WPF-Control: WPF轻量控件和皮肤库
七、了解更多
System.Windows.Controls 命名空间 | Microsoft Learn
HeBianGu的个人空间-HeBianGu个人主页-哔哩哔哩视频
原文地址:https://blog.csdn.net/u010975589/article/details/139781727
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!