我已经创建了一个应该在Win7和Win10上运行的WPF应用程序。它显示了一些ListBoxes,我在Win7上设计了它-一切看起来都很好!现在我在Win10上运行它,它看起来非常宽泛。ListBoxItems比Win7上的要大,所以它们在不应该显示滚动条的地方显示滚动条。
在使用snoop进行了一些测试之后,我发现ListBoxItem的边框和填充已经发生了变化。
在Win7中: Border="0,0,0,0“Padding="2,0,0,0”
在Win10中: Border="1,1,1,1“Padding="4,1,4,1”
这是从哪里来的?
我如何防止这样的错误?我不可能必须将所有WPF元素的所有值都设置为显式默认值,只是为了确保它们在Win10下保持不变。
发布于 2018-06-06 08:23:40
我认为这可能与使用的框架有关,我在下面使用Framework3.5和Framework4.6.2进行了测试。从Windows 7到Windows 10,这就是您看到的填充差异吗?
我用snoop检查了一下,发现了你提到的填充差异,padding="2,0,0,0“改为"4,1,4,1”也许你可以设置你的应用程序的属性,只使用你的Windows7机器上的较低的目标框架?
如何更改目标框架:https://msdn.microsoft.com/en-us/library/bb398202.aspx
https://stackoverflow.com/questions/50713929
复制