启动时最大化第二个屏幕时WPF主窗口不可见

时间:2018-03-13 14:27:22

标签: c# .net wpf prism

如果先前的实例主窗口在第二台显示器上最大化,则我们的应用程序主窗口在启动时不可见。如果我将鼠标悬停在任务栏上,则窗口预览为空白

enter image description here

然后我需要在任务栏图标上单击几次,首先将窗口最小化,然后在第二台显示器上显示最大化。

如果先前的实例已从监视器1关闭或主窗口未最大化,则在启动时它会按预期显示。

我试图在对类似问题进行冗长阅读后,从OnStartup方法实现此代码,但行为保持不变。

 if (this.MainWindow == null)
 {
   return;
 }

 this.MainWindow.Loaded += this.MainWindowOnLoaded;

 this.MainWindow.WindowStartupLocation = WindowStartupLocation.Manual;
 Debug.Assert(System.Windows.Forms.SystemInformation.MonitorCount > 1);

 Rectangle workingArea = System.Windows.Forms.Screen.AllScreens[1].WorkingArea;
 this.MainWindowLeft = workingArea.Left;
 this.MainWindowTop = workingArea.Top;
 this.MainWindowWidth = workingArea.Width;
 this.MainWindowHeight = workingArea.Height;
 this.MainWindow.WindowState = WindowState.Maximized;
 this.MainWindow.WindowStyle = WindowStyle.None;
 this.MainWindow.Topmost = true;
}

 private void MainWindowOnLoaded(object sender, RoutedEventArgs routedEventArgs)
 {
   this.MainWindowState = WindowState.Maximized;
 }

0 个答案:

没有答案