一、目的:开发过程中,经常需要先显示一个登录窗口,当登录成功时显示主窗口,那么如何设置登录窗口显示的时机和顺序,本文介绍我常用的方式
二、实现
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轻量控件和皮肤库
七、了解更多
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 示例:WPF中如何在主窗口显示之前增加一个登录窗口
发表评论 取消回复