枢轴项内的Scrollview未完全滚动

时间:2016-04-04 21:47:45

标签: xaml win-universal-app scrollviewer pivotitem

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

<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>

1 个答案:

答案 0 :(得分:2)

从您的代码中我看到您在StackPanel控件之外使用Pivot,并且未设置orientation属性,因此默认情况下StackPanel按照声明的顺序从上到下垂直堆叠项目。这将影响其内部的垂直滚动模式ScrollViewer

ScrollViewer的内容大小超过ScrollViewer时,ScrollViewer有效,当StackPanel位于ScrollViewer内时,它没有大小限制,

在这种情况下,您可以将StackPanel外的Pivot更改为Grid,它可以解决问题,或者您可以将ScrollViewer sa限制为高度像<ScrollViewer VerticalScrollMode="Enabled" Height="300">一样,这也可以解决问题。