枢轴项目内的滚动视图不完全滚动

Scrollview inside pivot item doesn't full scroll

您好,我有这个页面 XAML。问题是每个 PivotItem 中的文本没有正确滚动,只是滚动了一点但没有滚动到最后。枢轴工作正常,您可以水平翻转项目。我怎样才能在卷轴上实现正确的行为?

<StackPanel>
<Pivot>
    <PivotItem>
        <ScrollViewer VerticalScrollMode="Enabled">
            <StackPanel Margin="0,0,12,0">
                <TextBlock HorizontalAlignment="Left" 
                               TextWrapping="WrapWholeWords"
                               Foreground="#5D5B5D" 
                               FontWeight="Light" 
                               TextAlignment="Justify" 
                               Margin="0,0,12,0" 
                               Padding="0,0,4,0" 
                               Text="Change for this a very large text so it can scroll!!! "></TextBlock>
                <Button Content="OK"
                            HorizontalAlignment="Center" 
                            Margin="0,18" 
                            Padding="42,4"></Button>
            </StackPanel>
        </ScrollViewer>
    </PivotItem>
    <PivotItem>
        <ScrollViewer VerticalScrollMode="Enabled">
            <StackPanel Margin="0,0,12,0">
                <TextBlock HorizontalAlignment="Left" 
                               TextWrapping="WrapWholeWords"
                               Foreground="#5D5B5D" 
                               FontWeight="Light" 
                               TextAlignment="Justify" 
                               Margin="0,0,12,0" 
                               Padding="0,0,4,0" 
                               Text="Change for this a very large text so it can scroll!!! "></TextBlock>
                <Button Content="OK"
                            HorizontalAlignment="Center"
                            Margin="0,18" 
                            Padding="42,4"></Button>
            </StackPanel>
        </ScrollViewer>
    </PivotItem>
</Pivot>

从你的代码中我看到你在 Pivot 控件之外使用了 StackPanel,并且你没有设置 orientation 属性,所以默认情况下StackPanel 按照声明的顺序从上到下垂直堆叠项目。这会影响里面的Vertical-scroll-mode ScrollViewer

A ScrollViewer 在其内容的大小大于 ScrollViewer 的大小时起作用,当 ScrollViewerStackPanel 内部时,它没有限制尺寸,尺寸将适合其中的 child,因此 ScrollViewer 无法正常工作。

这种情况,你可以把你的Pivot外面的StackPanel改成Grid,就可以解决问题,或者你也可以给你的ScrollViewer一个像<ScrollViewer VerticalScrollMode="Enabled" Height="300">这样限制高度,这样也能解决问题。