【问题标题】:ListBox margin is not the same in Windows 7 and Windows 8Windows 7 和 Windows 8 中的 ListBox 边距不同
【发布时间】:2013-02-15 17:31:56
【问题描述】:

我已经设计了一个 WPF 列表框。我在Windows 8下开发。设置样式如下(见图)后,当我在Windows 7中测试应用程序时,边距不一样。正如您在图像中看到的,节点之间的间隔在 Windows 8 中为 1px,但在 Windows 7 中为 0 px。

你知道这是为什么,以及如何解决吗?

提前致谢。

【问题讨论】:

  • 您是否尝试过使用 snoop (snoopwpf.codeplex.com) 来查看 W7 列表框是否正在考虑您设置的边框?
  • 我也有同样的问题,多余的margin空间没有出现在snoop中。

标签: .net wpf windows-7 windows-8 listbox


【解决方案1】:

实际上我自己设法摆脱了它,看起来它的 ListViewItem 样式正在被 Windows8 更改,向 ListView 的本地资源添加样式对我有用。

    <ListView.Resources>
        <Style TargetType="ListViewItem">
            <Setter Property="Margin" Value="0"/>
            <Setter Property="Padding" Value="0"/>
            <Setter Property="BorderThickness" Value="0"/>
        </Style>
    </ListView.Resources>

【讨论】:

  • 这很好用。看来我只需要 Padding 和 BorderThickness 来解决它。
【解决方案2】:

默认的 ListBoxItem 包含一个边框。 ListBoxItem 还指定了一个由此边框继承的填充。它的 Padding DP 需要像 Andy 提到的那样设置。

【讨论】:

    猜你喜欢
    • 2013-11-11
    • 1970-01-01
    • 2012-10-02
    • 1970-01-01
    • 1970-01-01
    • 2018-05-06
    • 2014-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多