私は 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
。
ただし、_splashView
from内の何かを変更するBackgroundCompleted
と、クロス スレッド例外が発生します。これは、バックグラウンド ワーカーが修正するように設計されていると考えていたものです。これは、backgroundworker の作業方法と関係があると思いますApp.Xaml
。たぶん、これはスプラッシュスクリーンを行うには悪い方法ですか?