我在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
高度设置为较低值只会切断文本(或文本面板),但项目高度保持不变。但是,设置为更高的值会增加项目高度。
有没有人对此有解释或解决方法?
答案 0 :(得分:1)
我找到了解决方案。更改ItemContainerStyle
并将MinHeight
属性设置为目标值。
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="MinHeight" Value="32"/>
</Style>
</ListView.ItemContainerStyle>