如何打开窗口,但在我的初始屏幕下方显示它

本文关键字:屏幕 下方显示 我的 何打 开窗口 | 更新日期: 2023-09-27 18:34:18

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

如何打开窗口,但在我的初始屏幕下方显示它

你试过吗

_splashWindow.Owner = _window;

打电话后_window.Show()

没有

可以设置的TopMost属性吗?

http://msdn.microsoft.com/en-us/library/ms748948.aspx

里面有一些好东西。看起来您应该设置顶级以及所有权。