【发布时间】:2016-03-08 10:44:24
【问题描述】:
我对 WPF 中的 per-monitor dpi-aware 有点困惑。我认为您需要做一些工作才能使您的窗口在不同的显示器上正确缩放(如Developing a Per-Monitor DPI-Aware WPF Application 中所述)。
但我刚刚在带有两个显示器(2560x1440 和 2160x1440)的电脑上运行了我的应用程序,当我在显示器之间移动对话时,它会自动缩放。那是在最新的快速环 Windows 10 上。我错过了什么吗?
【问题讨论】:
-
只要您不对 UI 元素中的值进行硬编码,WPF 应用程序就会自动对其进行缩放。
-
@XAMlMAX 对于 Windows 8.1 也是如此吗?那我在帖子中链接的那篇文章呢?它确实说你必须自己听 dpi changed 事件。
-
无关,但现在我很好奇;如果您的窗口位于两个显示器的中间,会发生什么情况?
-
@BTownTKD 您的窗口左上角位置是起点,因此如果您有
MessageBox,它将出现在具有 Windows 左上角部分的监视器上。