私は App.Xaml にこれを持っています:
public App()
{
_backgroundWorker = new BackgroundWorker();
_backgroundWorker.DoWork += new DoWorkEventHandler(DoBackgroundWork);
_backgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(BackgroundCompleted);
_backgroundWorker.RunWorkerAsync();
_splashView = new SplashView();
_splashView.Show();
}
このDoBackgroundWorkメソッドはデータベースのセットアップを実行し、BackgroundCompletedイベントは を閉じて_splashViewを表示します_mainView。
ただし、_splashViewfrom内の何かを変更するBackgroundCompletedと、クロス スレッド例外が発生します。これは、バックグラウンド ワーカーが修正するように設計されていると考えていたものです。これは、backgroundworker の作業方法と関係があると思いますApp.Xaml。たぶん、これはスプラッシュスクリーンを行うには悪い方法ですか?