wpf - 我的WPF应用程序开箱即可识别每个显示器的dpi。我没想到吗?

标签 wpf scaling dpi-aware

我对WPF中每个显示器的dpi感知感到困惑。我认为您需要做一些工作以使您的窗口在不同的显示器上正确缩放(如Developing a Per-Monitor DPI-Aware WPF Application中所述)。

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

最佳答案

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

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

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

关于wpf - 我的WPF应用程序开箱即可识别每个显示器的dpi。我没想到吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35865238/

相关文章:

android - 如何在 Android 中以编程方式将 adjustViewBounds 设置为 true?

mongodb - MongoDB 和 ElasticSearch 之间的选择 - 扩展/分片

c# - 如何配置应用程序以在具有高 DPI 设置(例如 150%)的机器上正确运行?

c# - ListView mvvm中的WPF删除按钮

.net - ElementHost - 重新打开窗口时空白

r - 如何将数据框中的每一列重新缩放到 0-100 的比例? (在 r 中)

c++ - 设置我的应用程序 api 感知并防止系统使其模糊和错误定位

c# - 如何获取用户在 RichTextBox 中编写的文本的 TextRange

c# - 自定义字符串格式 0,0 带斜杠或反斜杠