我有一个WPF应用程序,它将通过专用窗口在投影仪上显示信息。 我想配置哪个屏幕用于投影仪显示,哪个屏幕用于主应用程序窗口。
以下代码将在指定的屏幕上生成投影仪输出:
var screen = GetProjectorScreen();
_projectorWindow = new ProjectorWindow();
_projectorWindow.Left = screen.WorkingArea.Left;
_projectorWindow.Top = screen.WorkingArea.Top;
_projectorWindow.Owner = _parentWindow;
_projectorWindow.Show();
public static Screen GetProjectorScreen()
{
var screens = Screen.AllScreens;
if (screens.Length > 1 && Settings.Default.DisplayScreen < screens.Length)
{
return screens[Settings.Default.DisplayScreen];
}
return screens[0];
}
我试图在启动窗体中尝试相同的技巧,但迄今为止没有成功。 我尝试在MainWindow构造函数中设置Top和Left属性,但这并没有起作用。
启动窗口是通过在App.xaml.cs中设置StartupUri来启动的:
StartupUri = new Uri("Windows/MainWindow.xaml", UriKind.Relative);
有没有其他方法可以启动启动窗体? 我尝试直接调用构造函数,但由于某些资源不再加载,这会导致崩溃。