UWP:为什么我不能将 ListView.ItemContainerStyle 填充设为零?

UWP: Why can't I get a ListView.ItemContainerStyle padding to zero?

我似乎无法将 ListView.ItemContainerStyle 的填充设置为零。

正如您从下面的屏幕截图中看到的,虽然我已将 ListView.ItemContainerStyle 的填充设置为零,并且其中包含 Border 组件的 padding/margin,但仍然有 space 留在两者之间。

为什么?

ListViewItem的默认控件模板中,有一个VerticalContentAlignment属性,默认为居中,这个决定了垂直内部元素的居中。您可以在容器样式中将此属性修改为Stretch

<ListView.ItemContainerStyle>
    <Style TargetType="ListViewItem">
        <Setter Property="BorderThickness" Value="2" />
        <Setter Property="BorderBrush" Value="Black" />
        <Setter Property="Background" Value="Red" />
        <Setter Property="Padding" Value="0" />
        <Setter Property="VerticalContentAlignment" Value="Stretch" />
    </Style>
</ListView.ItemContainerStyle>