WPF应用在不支持PerMonitorV2的系统中是否默认采用SystemAware?
WPF应用在低版本Windows系统的DPI模式适配问题
针对你的问题,直接给出结论和解释:
Windows 7/8系统下的默认DPI模式
是的,这类低版本系统会自动采用SystemAware模式。原因在于:PerMonitorV2和PerMonitor仅支持Windows 10周年更新及以上版本,Windows 7/8会完全忽略清单中的<dpiAwareness>节点。- 此时系统会读取旧版的
<dpiAware>配置,你当前设置的<dpiAware>true</dpiAware>在Windows 7/8中对应的就是SystemAware(系统DPI感知)模式。
是否需要手动设置SystemAware
不需要。你的当前清单配置已经能自动适配低版本系统:- 高版本Win10会优先识别
<dpiAwareness>中的PerMonitorV2/PerMonitor模式; - 低版本系统会自动 fallback 到
<dpiAware>指定的SystemAware模式,无需额外针对不同系统做手动配置。
- 高版本Win10会优先识别
你的应用清单代码如下:
<application xmlns="urn:schemas-microsoft-com:asm.v3"> <windowsSettings> <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware> <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings"> PerMonitorV2, PerMonitor </dpiAwareness> </windowsSettings> </application>
内容的提问来源于stack exchange,提问作者Sam10
相关产品推荐
相关产品推荐

