App.xaml.cs に次のロジックがあります。最初に、いくつかの初期化が行われている間、スプラッシュ スクリーンが表示されます。ある時点で、メイン アプリケーション ウィンドウを表示するのに十分な初期化が完了しました。ただし、必要なデータがすべてキャッシュされるまで、スプラッシュ スクリーンを表示し続けたいと考えています。私が抱えている問題は、メイン ウィンドウを表示すると、常にスプラッシュ スクリーンの上に表示されることです。表示する前にメイン ウィンドウで ShowActivated プロパティを false に設定しようとしましたが、それでもスプラッシュ スクリーンに表示されます。何か案は?
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
_splashWindow = new SplashWindow();
_splashWindow.Show();
...
_mainWindow = new MainWindow();
_mainWindow.DataContext = new MainViewModel();
_mainWindow.ShowActivated = false;
_window.Show();
}
private void OnCacheLoadComplete(object sender, EventArgs e)
{
_splashWindow.Close();
}
解決:
_mainWindow = new MainWindow();
_mainWindow.DataContext = new MainViewModel();
_window.Show();
_splashWindow.TopMost = true;
_splashWindow.Owner = _window;