对于 WPF 程序,要控制程序的 DPI 感知程度,可在 App.manifest 中添加如下代码。


 <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://walterlv.github.io/windows/2014/09/20/windows-dpi-awareness-for-wpf.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://walterlv.github.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系