枢轴项目内的滚动视图不完全滚动
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
的大小时起作用,当 ScrollViewer
在 StackPanel
内部时,它没有限制尺寸,尺寸将适合其中的 child,因此 ScrollViewer
无法正常工作。
这种情况,你可以把你的Pivot
外面的StackPanel
改成Grid
,就可以解决问题,或者你也可以给你的ScrollViewer
一个像<ScrollViewer VerticalScrollMode="Enabled" Height="300">
这样限制高度,这样也能解决问题。
您好,我有这个页面 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
的大小时起作用,当 ScrollViewer
在 StackPanel
内部时,它没有限制尺寸,尺寸将适合其中的 child,因此 ScrollViewer
无法正常工作。
这种情况,你可以把你的Pivot
外面的StackPanel
改成Grid
,就可以解决问题,或者你也可以给你的ScrollViewer
一个像<ScrollViewer VerticalScrollMode="Enabled" Height="300">
这样限制高度,这样也能解决问题。