ListBox margin is not the same in Windows 7 and Windows 8

江枫思渺然 提交于 2019-12-04 01:43:13

I actually managed to get rid of it myself, it looks like it's ListViewItem style that's being changed by Windows8, adding a style to the local resources of the ListView has worked for me.

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

You could try setting the ListBoxItem margin explicitly in a DataContext. For example:

<ListBox>
    <ListBox.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding}" Margin="0,0,0,1" />
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

Could be because Windows 7 and Windows 8 have different styles for list boxes.

The default ListBoxItem contains a border. The ListBoxItem also specifies a padding which is inherited by this Border. Its the Padding DP that needs to be set like what Andy mentioned.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!