2

我在我的 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();
}
4

3 回答 3

5

因为默认值为ShutdownModeOnLastWindowClose所以当您关闭初始屏幕时,程序会退出。您可以通过在调用 base.OnStartup 后添加以下代码来更改此设置

this.ShutdownMode = ShutdownMode.OnMainWindowClose;

如果这仍然不起作用,则将其设置为OnExplicitShutdown可能会起作用。

于 2012-05-09T15:52:17.100 回答
0

Show方法打开 a而不Window等待它关闭。

您应该使用应用程序的ShowDialog方法来停止执行,直到应用程序关闭。

于 2012-05-09T15:52:57.910 回答
0

另一种解决方案是先加载主窗口,但将其可见性属性设置为隐藏。然后从那里启动您的启动画面,一旦它关闭,将可见性更改回可见。

于 2012-05-09T16:01:14.053 回答