我有一个 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 属性,但这不起作用。
通过设置 StartupUri 从 App.xaml.cs 启动启动窗口:
StartupUri = new Uri("Windows/MainWindow.xaml", UriKind.Relative);
还有其他方法可以启动启动表格吗?我试图只调用构造函数,但这会导致崩溃,因为不再加载某些资源。