当屏幕分辨率由低到高时,动态设置WPF窗口的位置

本文关键字:设置 动态 WPF 窗口 位置 高时 分辨率 屏幕 | 更新日期: 2023-09-27 18:13:30

当我们改变屏幕分辨率时,WPF窗口不会显示在正确的位置(右下角)。

1。将屏幕分辨率从高更改为低。2.打开WPF窗口。3.再次将屏幕分辨率从低改为高。

窗口将不显示在正确的位置,它正在上升。我想让它在右下角。我该如何解决这个问题?

当屏幕分辨率由低到高时,动态设置WPF窗口的位置

您必须在分辨率更改后使用您自己的代码移动窗口,我相信,就像这样:

window.Left = SystemParameters.PrimaryScreenWidth - window.Width;
window.Top = = SystemParameters.PrimaryScreenHeight - window.Height;

查看这篇文章,看看如何检测屏幕分辨率的变化

http://social.msdn.microsoft.com/forums/en us/fc2f6dfa f22c - 477 e - b3a5 - 54 - a088176932/detecting屏幕分辨率变化

所以整个代码是这样的:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        SystemEvents.DisplaySettingsChanged += SystemEvents_DisplaySettingsChanged;
    }
    void SystemEvents_DisplaySettingsChanged(object sender, EventArgs e)
    {
        this.Left = SystemParameters.PrimaryScreenWidth - this.Width;
        this.Top = SystemParameters.PrimaryScreenHeight - this.Height;
    }
}