Listview 项目周围出现额外的空白

JT *_*ith 1 xaml uwp uwp-xaml

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

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

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

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

这是相关的 XAML:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="Auto" />
        <RowDefinition />
    </Grid.RowDefinitions>
    <ListView ItemsSource="{Binding DisplayItems}" Grid.Row="0" DisplayMemberPath="DisplayString" />
Run Code Online (Sandbox Code Playgroud)

Jus*_* XL 5

我刚刚在这里回答了一个问题它可能会帮助您了解正在发生的事情。继我的回答,您可以生成完整的默认样式ListViewItem

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

<Setter Property="Padding" Value="11,-1,11,-1" />
<Setter Property="MinWidth" Value="{ThemeResource ListViewItemMinWidth}" />
<Setter Property="MinHeight" Value="{ThemeResource ListViewItemMinHeight}" />
Run Code Online (Sandbox Code Playgroud)

默认情况下,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>
Run Code Online (Sandbox Code Playgroud)