wpf - 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 下保持不变。
解决方案
我认为这可能与使用的框架有关,我在下面使用框架 3.5 和框架 4.6.2 进行了测试。这是您从 Windows 7 到 Windows 10 看到的填充差异吗?
我使用 snoop 检查并看到您提到的填充差异,padding="2,0,0,0" 更改为 "4,1,4,1" 也许您可以将应用程序的属性设置为仅使用较低的目标框架那是在你的 Windows 7 机器上吗?
如何更改目标框架: https ://msdn.microsoft.com/en-us/library/bb398202.aspx
推荐阅读
- docker - docker命令可以启动mysql容器,但是docker-compose.yml不能,可能是什么原因?
- machine-learning - 多类案例的混淆矩阵,所有评估指标的估计
- javascript - OpenLayers6检测光标何时离开地图
- java - 适用于 Java 应用程序的 Amazon Kinesis Data Analytics:反序列化传入消息中的 Avro 问题
- tesseract - 从 tika-server 获取 hocr 输出
- java - 如何在启动 Intent 后保持 TextView 和 Button 不可见
- laravel - Laravel 发送多个 HTTP 响应
- ios - Flutter build ios bitcode问题,如何修复bitcode错误
- ios - Xcode 不能正确处理在 Main 包之外定义的命名颜色
- c - 结构数组的动态分配不起作用