我的网格有一行高度="自动"。
在该行中,我有一个列表视图绑定到显示字符串的列表。
当这些项目出现在列表视图中时,它们周围会有一堆额外的空格(如果我设置项目的背景,那么文本周围会有一条窄带,那么项目之间就会出现一堆空白) 。我没有在任何地方设置任何边距或填充,只是绑定到我的集合的基本列表视图。
如何让物品紧贴彼此而不是在它们之间留下一堆空白
以下是相关的XAML:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<ListView ItemsSource="{Binding DisplayItems}" Grid.Row="0" DisplayMemberPath="DisplayString" />
答案 0 :(得分:3)
我刚刚回答了一个问题here,这可能会帮助您了解正在发生的事情。根据我的回答,您可以生成ListViewItem
的完整默认样式。
样式中的以下Setter
正在影响每个ListViewItem
的间距:
<Setter Property="Padding" Value="11,-1,11,-1" />
<Setter Property="MinWidth" Value="{ThemeResource ListViewItemMinWidth}" />
<Setter Property="MinHeight" Value="{ThemeResource ListViewItemMinHeight}" />
默认情况下,ListViewItemMinWidth
为88
,ListViewItemMinHeight
为44
。
您当然可以在生成的样式中使用0
替换它们,或者只是覆盖您需要的内容,而不生成如下所示的完整样式
<ListView>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Padding" Value="0" />
<Setter Property="MinWidth" Value="0" />
<Setter Property="MinHeight" Value="0" />
</Style>
</ListView.ItemContainerStyle>
</ListView>