为什么关闭我的初始屏幕导致我的主窗口永远不会显示
本文关键字:我的 窗口 永远 显示 屏幕 为什么 | 更新日期: 2023-09-27 18:33:43
我在我的App.xaml.cs中覆盖了OnStartup方法。 但是,一旦我添加了初始屏幕关闭,我的主窗口就永远不会显示。 调试器到达主节点。Show() 行,但在完成执行后,应用程序关闭。 有什么想法吗?
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
SplashWindow splash = new SplashWindow();
splash.Show();
System.Threading.Thread.Sleep(5000);
splash.Close();
MainWindow main = new MainWindow();
main.Show();
}
因为ShutdownMode
的默认值是 OnLastWindowClose
,所以当您关闭初始屏幕时,程序将退出。可以通过在调用 base 后添加以下代码来更改此设置。启动时
this.ShutdownMode = ShutdownMode.OnMainWindowClose;
如果这仍然不起作用,将其设置为 OnExplicitShutdown
可能会起作用。
Show 方法打开Window
而不等待它关闭。
应使用应用的 ShowDialog 方法停止执行,直到应用关闭。
另一种解决方案是先加载主窗口,但将其可见性属性设置为隐藏。 然后从那里启动初始屏幕,并在关闭后将可见性更改回可见。