作成中の WPF アプリケーションがあります。プログラムは、初期化時にスプラッシュ スクリーンを表示します。起動シーケンスのほとんどは、メイン ウィンドウが表示された後、バックグラウンド スレッドで実行する必要があります。私の問題は、必要なときにメイン ウィンドウが表示されないことです。
メイン ウィンドウの Window_Loaded イベント ハンドラは次のとおりです。
private void Window_Loaded( object sender, RoutedEventArgs e ) {
if ( !DoInitialize() ) {
shuttingDown = true;
Application.Shutdown();
}
e.Handled = true;
}
private bool DoInitialize() {
if ( !ReadConfiguration( Application.ConfigurationFilePath ) ) {
return false;
}
Thread th = new Thread( new ThreadStart( FinishInitializing ) );
th.SetApartmentState(ApartmentState.STA);
th.Start();
ClockTimer = new DispatcherTimer( TimeSpan.FromSeconds( 1 ), DispatcherPriority.Background, UpdateClock, Dispatcher );
ClockTimer.Start();
return true;
}
ご覧のとおり、構成ファイルの読み取りを除いて、バックグラウンドを開始しThread
て初期化を終了し、DispatcherTimer
. このタイマーは、ディスプレイ上のクロックを更新するために使用されます。
メインウィンドウの表示をトリガーするのは正確には何ですか?
トニー