ListView最小高度无法更改

时间:2018-01-20 13:56:32

标签: c# xaml listview uwp uwp-xaml

我在UWP中有一个简单的ListView。我希望列表元素的高度小于默认高度。似乎我可以指定一个更高的值,但是有一个不能被覆盖的高度的最小值。

我尝试设置负填充和负边距,降低字体大小和对齐方式,但无济于事。

以下是我正在使用的代码。

<ListView x:Name="listView" Margin="0,10,0,0" IsItemClickEnabled="False">
    <ListView.ItemTemplate>
        <DataTemplate x:DataType="local:Element">
            <StackPanel Orientation="Horizontal" Height="10" Margin="0" Padding="0">
                <TextBlock Text="{Binding Name}" VerticalAlignment="Center" Padding="0" Margin="0" FontWeight="Bold"/>
                <TextBlock Text="{Binding Value}" VerticalAlignment="Center" Padding="0" Margin="5,0,0,0"/>
            </StackPanel>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

StackPanel高度设置为较低值只会切断文本(或文本面板),但项目高度保持不变。但是,设置为更高的值会增加项目高度。

有没有人对此有解释或解决方法?

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。更改ItemContainerStyle并将MinHeight属性设置为目标值。

<ListView.ItemContainerStyle>
    <Style TargetType="ListViewItem">
        <Setter Property="MinHeight" Value="32"/>
    </Style>
</ListView.ItemContainerStyle>