我的 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;