我遇到了与windows的dpi设置有关的问题。如果windows dpi设置为100%,一切都很好。但如果用户将其更改为125%...我的应用程序的某些部分显示错误的大小。我知道问题,我知道如何处理,但我的客户希望在应用程序运行时,如果当前的窗口dpi设置不等于100% - >将其更改为100%
我对解决方案保持不变。你有改变windows dpi设置值的解决方案吗?
先谢谢!!!
答案 0 :(得分:2)
您可以通过修改注册表项HKEY_CURRENT_USER\Control Panel\Desktop:LogPixels
的注册表值来执行此操作。类型为REG_DWORD
。
您可以看到注册表方法here,以帮助修改注册表值。
将值设置为96(0x60)对应将DPI设置设置为"较小" (100%)。
请注意,计算机可能仍需要重新启动或注销/登录才能使所有设置按预期工作。
答案 1 :(得分:0)
您必须在应用程序中使用ViewBox。
它只是缩放以使内容适合可用大小。它不会调整内容的大小,但会对其进行转换。这意味着还缩放了所有文本大小和行宽。它与将图像或路径上的Stretch属性设置为Uniform的行为大致相同。
for eample
<Viewbox Stretch="Uniform">
<Button Content="Test" />
</Viewbox>