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

时间:2017-08-21 17:57:53

标签: xaml uwp uwp-xaml

我的网格有一行高度="自动"。

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

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

如何让物品紧贴彼此而不是在它们之间留下一堆空白

以下是相关的XAML:

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

1 个答案:

答案 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}" />

默认情况下,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>