对于 WPF 程序,要控制程序的 DPI 感知程度,可在 App.manifest 中添加如下代码。
本文知识已经陈旧,你可以阅读这两篇文章来了解更新的 Windows DPI 应用知识:
- Windows 下的高 DPI 应用开发(UWP / WPF / Windows Forms / Win32) - walterlv
- 支持 Windows 10 最新 PerMonitorV2 特性的 WPF 高 DPI 应用开发 - walterlv
原文内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<!-- 此应用程序将使用以下 DPI 感知级别。(默认情况下是系统 DPI 感知级别。)-->
<!-- 应用程序不对 DPI 感知,将由 DWM (Desktop Window Manager)进行 DPI 缩放控制。 -->
<!--<dpiAware>False</dpiAware>-->
<!-- 应用程序具有系统级别的 DPI 感知能力。 -->
<!--<dpiAware>True</dpiAware>-->
<!-- 应用程序对每个显示器的 DPI 都具备感知能力。 -->
<dpiAware>True/PM</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
本文会经常更新,请阅读原文: https://blog.walterlv.com/windows/2014/09/20/windows-dpi-awareness-for-wpf.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 ([email protected]) 。