在最大化的辅助监视器上设置 wpf 应用程序屏幕高度

Set wpf application screen height on secondary monitor on maximize

我想为不同的显示器设置不同的屏幕尺寸。

分辨率

初级 - 1600*900,

二级 - 1920*1080

我的应用程序在主屏幕上运行良好,但是当我将应用程序拖动到辅助屏幕并最大化时,它仅根据主屏幕高度最大化。

我想要应用程序屏幕大小与当前屏幕一致。

我建议您使用 System.Windows.Forms 中的 Screen class 来定义您的应用程序是否在第二屏幕上。有必要知道用户何时将您的应用程序移动到第二个显示器并知道它,我使用 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>