我实际上是在跟踪两个小的wpf应用程序,一个是在主计算机上,您可以编写飞行员的时间,第二个必须在大屏幕上显示,并连接到hdmi的主计算机,然后仅显示到飞行员。
我曾经做过一切,一切都很好。
但是,当我启动第一个应用程序时,我希望第二个应用程序在第二个屏幕中自动启动。我只找到像Forms包这样的解决方案:
System.Windows.Forms.Screen.AllScreens
但是我使用WPF,因此无法访问System.Windows.Forms。
任何人都想办法解决?
非常感谢!
最佳答案
即使它是WPF应用程序,您仍然可以引用System.Windows.Forms。
只需在解决方案资源管理器中右键单击该项目,添加引用,然后选择System.Windows.Forms。
然后使用如下代码:(您还将需要引用System.Drawing)
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.MaximizeToSecondaryMonitor();
}
public void MaximizeToSecondaryMonitor()
{
var secondaryScreen = Screen.AllScreens.Where(s => !s.Primary).FirstOrDefault();
if (secondaryScreen != null)
{
var workingArea = secondaryScreen.WorkingArea;
this.Left = workingArea.Left;
this.Top = workingArea.Top;
this.Width = workingArea.Width;
this.Height = workingArea.Height;
if (this.IsLoaded)
{
this.WindowState = WindowState.Maximized;
}
}
}
}
code taken from here