Xaml
WPF,C#

スプラッシュWindowを表示する

More than 1 year has passed since last update.

やりたいこと

アプリ起動時にスプラッシュWindowを表示する。画像ではなくてWindow。

方法

C#
public partial class App : Application
{
    protected override void OnStartup(StartupEventArgs e)
    {
        var win = new MainMenuWindow();
        // this.MainWindow = new MainMenuWindow(); // こっちのほうが明示的でいいかも

        var splashWindow = new splashWindow();
        splashWindow.Show();
        // ***いろんな処理***
        splashWindow.Close();

        win.Show();
        // this.MainWindow.Show();
    }
}

最初、下記のようにしていて期待通りに動かなかった。
最初にnewされたWindowがメインのWindowになるのね。

C#
public partial class App : Application
{
    protected override void OnStartup(StartupEventArgs e)
    {
        var splashWindow = new splashWindow();
        splashWindow.Show();
        // ***いろんな処理***
        splashWindow.Close();

        var win = new MainMenuWindow();
        win.Show();
    }
}