ListView does not scroll
本文关键字:scroll not does ListView | 更新日期: 2023-09-27 18:28:23
我有一些XAML代码,我的问题是Listview高度不在Grid行的范围内,而是随着ListViewItem的添加量而增加。这将阻止列表滚动。
我该如何防止这种情况发生?
以下是一些重现的xaml代码:
<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<Grid Margin="30, 20, 30, 20">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<StackPanel Grid.Row="0">
<TextBlock Text="SomeText" FontSize="40"/>
</StackPanel>
<StackPanel Grid.Row="1">
<TextBlock Text="Some More Text" FontSize="30"/>
</StackPanel>
<Grid x:Name="ContGrid" Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Viewbox HorizontalAlignment="Left" VerticalAlignment="Top" Grid.Column="0" Stretch="None" Width="AUto">
<StackPanel x:Name="holderPanel" Margin="5" Grid.Column="0" Grid.Row="0" Orientation="Vertical">
<TextBlock Text="SomeCategories" FontSize="20"/>
<ListView CanDragItems="True" CanReorderItems="True" AllowDrop="True" Width="380">
<ListViewItem Background="Blue">Test</ListViewItem>
<ListViewItem Background="Red">Test</ListViewItem>
<ListViewItem Background="Green">Test</ListViewItem>
<ListViewItem Background="Purple">Test</ListViewItem>
<ListViewItem Background="Blue">Test</ListViewItem>
<ListViewItem Background="Red">Test</ListViewItem>
<ListViewItem Background="Blue">Test</ListViewItem>
<ListViewItem Background="Red">Test</ListViewItem>
<ListViewItem Background="Green">Test</ListViewItem>
<ListViewItem Background="Purple">Test</ListViewItem>
<ListViewItem Background="Blue">Test</ListViewItem>
<ListViewItem Background="Red">Test</ListViewItem>
<ListViewItem Background="Blue">Test</ListViewItem>
<ListViewItem Background="Red">Test</ListViewItem>
<ListViewItem Background="Green">Test</ListViewItem>
<ListViewItem Background="Purple">Test</ListViewItem>
<ListViewItem Background="Blue">Test</ListViewItem>
<ListViewItem Background="Red">Test</ListViewItem>
<ListViewItem Background="Blue">Test</ListViewItem>
<ListViewItem Background="Red">Test</ListViewItem>
<ListViewItem Background="Green">Test</ListViewItem>
<ListViewItem Background="Purple">Test</ListViewItem>
<ListViewItem Background="Blue">Test</ListViewItem>
<ListViewItem Background="Red">Test</ListViewItem>
</ListView>
</StackPanel>
</Viewbox>
</Grid>
</Grid>
</Grid>
ListView的高度之所以随着ListViewItems的添加而增加,是因为ListView被放置在StackPanel中。StackPanel将允许在不启用滚动条的情况下扩展到屏幕的边界之外。
这是原始答案的链接