列表视图项周围出现额外的空格



我有一个网格,其中有一行具有Height="Auto"。

在该行中,我有一个列表视图,该列表视图绑定到显示字符串的列表。

当这些项目出现在列表视图中时,它们周围有一堆额外的空格(如果我设置项目的背景,则文本周围有一条该颜色的窄带,然后在项目之间有一堆空白(。我没有在任何地方设置任何边距或填充,只是绑定到我的集合的基本列表视图。

如何让项目彼此紧挨显示,而不是在它们之间有一堆空格

下面是相关的 XAML:

<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<ListView ItemsSource="{Binding DisplayItems}" Grid.Row="0" DisplayMemberPath="DisplayString" />

我刚刚在这里回答了一个问题,它可能会帮助你理解发生了什么。按照我的回答,您可以生成ListViewItem的完整默认样式。

样式中的以下Setter会影响每个ListViewItem的间距:

<Setter Property="Padding" Value="11,-1,11,-1" />
<Setter Property="MinWidth" Value="{ThemeResource ListViewItemMinWidth}" />
<Setter Property="MinHeight" Value="{ThemeResource ListViewItemMinHeight}" />

默认情况下,ListViewItemMinWidth88ListViewItemMinHeight44

您当然可以用生成的样式中的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>

最新更新