12

我对 WPF 中的 per-monitor dpi-aware 有点困惑。我认为您需要做一些工作才能使您的窗口在不同的监视器上正确缩放(如开发每监视器 DPI-Aware WPF 应用程序中所述)。

但是我刚刚在带有两个显示器(2560x1440 和 2160x1440)的电脑上运行了我的应用程序,当我在显示器之间移动对话时,对话会自动缩放。那是在最新的快速环 Windows 10 上。我错过了什么吗?

4

2 回答 2

12

您看到的是当一个应用程序窗口移动到具有不同 DPI 的不同显示器时系统缩放的示例。这是因为 WPF 应用程序默认支持 System DPI Aware。因此,如果您仔细观察,您会看到 WPF 视觉效果/文本在目标 DPI 较高时变得模糊,或者在目标 DPI 较低时看起来模糊。另外,请注意监视器分辨率对于 WPF 应用程序并不重要,因为 WPF 与设备分辨率无关(它的测量单位是与设备无关的像素)。

好消息:.NET 4.6.2 预览版刚刚发布,它具有开箱即用的 Per Monitor DPI Awareness。在此处查看开发人员指南和示例:

https://github.com/Microsoft/WPF-Samples/tree/master/PerMonitorDPI

于 2016-03-31T17:50:34.957 回答
1

从评论继续对话。
是的,Windows 8.1 也是如此。
这是您链接帖子中的注释

默认情况下,Windows Presentation Foundation (WPF) 应用程序可识别系统 DPI。

高温高压

于 2016-03-08T12:04:54.903 回答