我的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;
答案 0 :(得分:1)
你试过吗
_splashWindow.Owner = _window;
致电_window.Show()
后?
答案 1 :(得分:1)
您可以设置TopMost
属性吗?
http://msdn.microsoft.com/en-us/library/ms748948.aspx
那里有一些好东西。看起来你应该设置TopMost以及所有权。