我在App.xaml.cs中覆盖了OnStartup方法,如下所示。但是,一旦我关闭了启动画面,我的主窗口就永远不会显示。调试器到达main.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();
}
答案 0 :(得分:5)
由于ShutdownMode
的默认值为OnLastWindowClose
,因此当您关闭启动画面时,程序将退出。
您可以在调用base.OnStartup
this.ShutdownMode = ShutdownMode.OnMainWindowClose;
如果仍然无法将其设置为OnExplicitShutdown
可能有效。
答案 1 :(得分:0)
Show方法会打开Window
而无需等待其关闭。
您应该使用应用的ShowDialog方法停止执行,直到应用关闭。
答案 2 :(得分:0)
另一种解决方案是首先加载主窗口,但将其可见性属性设置为隐藏。然后从那里启动启动画面,一旦关闭,将可见性恢复为可见。