我想为不同的显示器设置不同的屏幕尺寸。
解决
primary - 1600 * 900,
次要 - 1920 * 1080
我的应用程序在主屏幕上工作正常,但是当我在辅助屏幕上拖动应用程序并最大化时,它仅根据主屏幕高度最大化。
我希望应用程序屏幕大小符合当前屏幕。
答案 0 :(得分:3)
我建议您使用Screen
中的System.Windows.Forms
类来定义您的应用程序是否在第二个屏幕上。有必要知道用户何时将您的应用程序移动到第二个显示器并知道它,我使用LocationChanged
事件:
代码隐藏:
private Screen GetSecondaryScreen()
{
foreach (Screen screen in Screen.AllScreens)
{
if (screen != Screen.PrimaryScreen)
return screen;
}
return Screen.PrimaryScreen;
}
private void Window_LocationChanged(object sender, EventArgs e)
{
if (Screen.PrimaryScreen != GetSecondaryScreen())
{
this.WindowState = WindowState.Maximized;
}
}
XAML:
<Window x:Class="DateTimePickerDataGridWPF.MainWindow"
...the code omitted for the brevity...
Title="MainWindow" Height="350" Width="525" LocationChanged="Window_LocationChanged">
</Window>