在我的布局中,我有两个部分具有可变高度,我希望能够一个接一个地流动一个部分,所以我创建了一个stackpanel。堆栈面板内是另一个堆栈面板和列表视图。出于某种原因,当listview位于此外部stackpanel内部时,我无法垂直滚动。显然有更多的项目可以看到 - 我可以拉出项目列表(当你拉出一个元素超出它的内容时你得到的rubbbery效果)并看到更多的项目,但我无法滚动它们。当我将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>
答案 0 :(得分:1)
像这样:
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<StackPanel Grid.Row="0">
<!-- your textblocks -->
</StackPanel>
<ListView Grid.Row="1" />
</Grid>
这会让它滚动得很好。
祝你好运!