如何删除几个ListView项之间的间距?

时间:2015-08-29 12:39:40

标签: wpf listview

如果我的ListView中只有少量元素(图片),则它们间隔相等(一个在顶部,另一个在中间,第三个在底部)。然而,这在主题之间留下了很多空间。我希望它们垂直排列在列表的顶部,就像在PowerPoint缩略图视图中一样。我在列表项上尝试了以下项目,但没有一项工作:

<ListView.ItemContainerStyle>
    <Style TargetType="ListViewItem">
        <Setter Property="Background" Value="Pink" />
        <Setter Property="Padding" Value="0" />
        <Setter Property="BorderThickness" Value="0" />
        <Setter Property="VerticalAlignment" Value="Center" />
        <Setter Property="HorizontalAlignment" Value="Center" />
        <Setter Property="HorizontalContentAlignment" Value="Center" />
        <Setter Property="VerticalContentAlignment" Value="Center" />
    </Style>

</ListView.ItemContainerStyle>

我设法移除了填充并调整了高度和宽度,但项目仍然在列表中保持相等的间距。

我将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以为listview项目实现自己的模板。

理论上它看起来可能类似于:

<ListView x:Name="myListview">
 <ListView.ItemTemplate>
    <DataTemplate>
      <Image Source="{Binding}" Margin="0" />
   </DataTemplate>
 </ListView.ItemTemplate>
</ListView>

通过这种方式,你的项目由带有0边距的图像表示,这是我认为会导致分离的。

我没有在Visual Studio中测试过,所以如果有任何问题请告诉我。