.net 将listview放入堆栈面板会中断垂直滚动
在我的布局中,我有两个具有可变高度的部分,我希望能够一个一个地流动,所以我创建了一个stackpanel。堆栈面板内部是另一个堆栈面板和一个listview。由于某些原因,当listview位于外部stackpanel的内部时,我无法垂直滚动。显然还有更多的项目要看——我可以向上拉项目列表(当你把一个元素拉到它的内容之外时,你会得到一种粗俗的效果),然后看到更多的项目,但我无法滚动它们。当我将listview移出堆栈面板时,它会完美地滚动,但这会破坏预期的布局。有什么想法吗?以下是本节的xaml:.net 将listview放入堆栈面板会中断垂直滚动,.net,windows-runtime,windows-store-apps,winrt-xaml,.net,Windows Runtime,Windows Store Apps,Winrt Xaml,在我的布局中,我有两个具有可变高度的部分,我希望能够一个一个地流动,所以我创建了一个stackpanel。堆栈面板内部是另一个堆栈面板和一个listview。由于某些原因,当listview位于外部stackpanel的内部时,我无法垂直滚动。显然还有更多的项目要看——我可以向上拉项目列表(当你把一个元素拉到它的内容之外时,你会得到一种粗俗的效果),然后看到更多的项目,但我无法滚动它们。当我将listview移出堆栈面板时,它会完美地滚动,但这会破坏预期的布局。有什么想法吗?以下是本节的xaml
<Grid Grid.Row="1" Grid.Column="1">
<StackPanel Orientation="Vertical">
<StackPanel DataContext="{Binding SelectedLink}">
<TextBlock Text="{Binding Author}" Foreground="Blue" FontSize="20"/>
<TextBlock Text="{Binding Title}" TextWrapping="WrapWholeWords"/>
<TextBlock Text="{Binding SelfText}" TextWrapping="Wrap" Margin="0, 20, 0, 0" />
</StackPanel>
<ListView x:Name="CommentsListView" ItemsSource="{Binding SelectedLinkComments}" IsItemClickEnabled="True" IsSwipeEnabled="False" IsHoldingEnabled="True" Holding="CommentsListView_OnHolding">
<ListView.ItemTemplate>
<DataTemplate>
<Border BorderBrush="Gray" Padding="2" Margin="2">
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding Author}" Foreground="Green"/>
<TextBlock Text="{Binding Body}"/>
</StackPanel>
</Border>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackPanel>
</Grid>
像这样:
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<StackPanel Grid.Row="0">
<!-- your textblocks -->
</StackPanel>
<ListView Grid.Row="1" />
</Grid>
这会让它滚动的很好
祝你好运 外部网格行高度定义是什么?正如人们所期望的那样。2行,(自动,*)和2列(自动,*)由于StackPanel将增长以适应整个列表,解决方案是删除外部StackPanel并将行添加到内部网格(自动,*),并将内部StackPanel放置在第0行,将ListView放置在第1行。LOL-太好了,您从我上面的评论中得出了答案。