Dan*_*ott 4 c# wpf highdpi windows-10
WPF 应用程序通常是否在开箱即用的高 DPI 屏幕上正确缩放(无需进一步自定义清单等?)。这是我的理解他们做的?
在笔记本电脑屏幕上查看时,我编写的两个 WPF 应用程序在我的新笔记本电脑(运行 Windows 10)上都显得模糊。通常,笔记本电脑的主显示器设置为外部低 dpi 显示器,内置笔记本电脑面板的缩放比例为 125%。但是,无论是否插入低 dpi 显示器,都会出现模糊。
我认为这可能与我的两个应用程序的启动方式有关(通过 main 方法,而不是启动主窗口的默认代码模板),但我刚刚启动了 Visual Studio 2015 并生成了一个全新的 WPF带有项目模板的应用程序(只是空白表单上的几个单选按钮),它也不会在我的系统上扩展为高 DPI。
值得一提的是,我已经在我的 Windows 副本上配置了“首选外部清单”注册表设置,以允许每个应用程序使用清单禁用高 dpi 缩放。(即HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide "PreferExternalManifest"=dword:00000001)。
从.net 4.6.2开始,WPF 应用程序默认为每个 Monitor DPI 感知,而不是早期版本:
WPF 应用程序现在启用了每个监视器的 DPI 感知。这种改进对于将不同 DPI 级别的多个显示器连接到一台机器的情况至关重要。由于 WPF 应用程序的全部或部分在监视器之间转换,WPF 的预期行为是自动将应用程序的 DPI 与屏幕匹配。现在确实如此。在以前的版本中,您必须编写额外的本机代码才能在 WPF 应用程序中启用每个监视器的 DPI 感知。
因此,安装 .4.6.2 开发工具并将您的应用程序定位到 4.6.2 以获得对此的支持。
| 归档时间: |
|
| 查看次数: |
5746 次 |
| 最近记录: |