当ListView为VerticalAlignment="Stretch"时,在ListView中垂
本文关键字:quot ListView 中垂 Stretch VerticalAlignment | 更新日期: 2023-09-27 18:17:00
我们如何使ListView
行为正常?我试图在我的ListView
内垂直滚动,我最终能够得到一些垂直滚动,但ListView
不断扩大的高度!设置MaxHeight
没有任何作用
<StackPanel x:Name="ActivityLog" Margin="0, 201, 0, 0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<ScrollViewer ScrollViewer.VerticalScrollBarVisibility="Visible">
<ListView x:Name="ActivityList" ItemsSource="{Binding Activities}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" BorderBrush="{x:Null}" HorizontalContentAlignment="Center" FontSize="14">
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Message}" Background="{x:Null}" HorizontalAlignment="Stretch" Padding="5" TextAlignment="Center" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.CanContentScroll="True" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</ScrollViewer>
</StackPanel>
我很茫然。请帮助。我如何让列表视图只是垂直滚动,永远不会改变高度,永远不会显示水平滚动条?
删除StackPanel
。这可以防止ListView
(或任何其他子节点)具有分隔的大小。这就是为什么你没有得到任何滚动条,因为ListView
有一个无限的高度,由StackPanel布局。
此外,只有一个孩子的StackPanel
是没有意义的。它应该"堆叠"它的子节点。
编辑:也删除ScrollViewer
,因为ListView
已经有一个ScrollViewer
在它里面,按照默认模板。当然,除非您为此更改了默认的ControlTemplate