.net Windows 7和Windows 8中的列表框边距不同

.net Windows 7和Windows 8中的列表框边距不同,.net,wpf,windows-7,windows-8,listbox,.net,Wpf,Windows 7,Windows 8,Listbox,我已经设计了一个WPF列表框。我在Windows8下开发。在将样式设置为如下所示(见图)之后,当我在Windows7中测试应用程序时,边距不一样。如图所示,在Windows 8中节点之间的间距为1px,但在Windows 7中为0px 你知道为什么会这样,以及如何解决它吗 提前谢谢。实际上我自己也设法摆脱了它,它看起来是由Windows8更改的ListViewItem样式,在ListView的本地资源中添加样式对我来说很有效 <ListView.Resources>

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

你知道为什么会这样,以及如何解决它吗


提前谢谢。

实际上我自己也设法摆脱了它,它看起来是由Windows8更改的ListViewItem样式,在ListView的本地资源中添加样式对我来说很有效

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


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

您是否尝试使用snoop()查看W7列表框是否考虑了您正在设置的边框?我也有同样的问题,额外的边距空间不会出现在snoop中。这非常有效。似乎只需要填充和边界厚度就可以为我解决它。