WPF アプリケーションの開始時に発生させたい基本的なイベントを次に示します。これは、私のマシンで Word が起動する方法と非常によく似ています。
- ビジーカーソルを表示します。
- 基本的な初期化を実行します。これには数秒かかり、スプラッシュ画面が表示される前に完了する必要があります。
- スプラッシュスクリーンを表示します。このスプラッシュ スクリーンには、より詳細な初期化の進行状況が表示され、しばらく時間がかかる場合があります (データベースから情報をキャッシュします)。
- デフォルトのカーソルを表示します。スプラッシュ スクリーンに進行状況が表示されるようになったので、ビジー カーソルを表示する必要はありません。
- スプラッシュ スクリーンの進行が完了したら、メイン ウィンドウを表示します。
- スプラッシュ画面を閉じます。
スプラッシュ スクリーンが表示される前にビジー カーソルが表示されることを除いて、すべて正常に動作します。ショートカットからアプリケーションを実行すると、待機カーソルが点滅しますが、すぐにデフォルトに戻ります。カーソルを設定するさまざまな方法を試しましたが、どれもうまくいきませんでしたが、問題はコントロール/ウィンドウにいないことだと思います.App.xaml.cs内から実行しています。そして、私が設定しているプロパティは、Windows フォームのプロパティのようです。これは、App.xaml.cs のコードからの抜粋です。
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
System.Windows.Forms.Application.UseWaitCursor = true;
//System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
//System.Windows.Forms.Application.DoEvents();
Initialize();
SplashWindow splash = new SplashWindow();
splash.Show();
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default;
// Right now I'm showing main window right after splash screen but I will eventually wait until splash screen closes.
MainWindow main = new MainWindow();
main.Show();
}