首页 > 解决方案 > Windows10 的 ListBoxItem 内边距和边框

问题描述

我创建了一个应该在 Win7 和 Win10 上运行的 WPF 应用程序。它显示了一些列表框,我在 Win7 上设计了它——一切看起来都很好!现在我在 Win10 上运行它,它看起来很奇怪。ListBoxItems 比 Win7 上的要大,因此它们在不应该有滚动条的地方显示滚动条。

在用 snoop 进行一些测试后,我看到 ListBoxItem 的 Border 和 Padding 发生了变化。

在 Win7 中:Border="0,0,0,0" Padding="2,0,0,0"
在 Win10 中:Border="1,1,1,1" Padding="4,1,4,1"

这是从哪里来的?

如何防止此类错误?不可能我必须将所有 WPF 元素的所有值都设置为明确的默认值,以确保它们在 Win10 下保持不变。

标签: wpf

解决方案


我认为这可能与使用的框架有关,我在下面使用框架 3.5 和框架 4.6.2 进行了测试。这是您从 Windows 7 到 Windows 10 看到的填充差异吗?

框架 3.5 框架 4.6.2

我使用 snoop 检查并看到您提到的填充差异,padding="2,0,0,0" 更改为 "4,1,4,1" 也许您可以将应用程序的属性设置为仅使用较低的目标框架那是在你的 Windows 7 机器上吗?

如何更改目标框架: https ://msdn.microsoft.com/en-us/library/bb398202.aspx


推荐阅读