Windows Phone 7。我有一个 ScrollViewer,它位于 StackPanel 中,StackPanel 又在 PivotItem 中,PivotItem 又在 Pivot 中。在 ScrollViewer 上方,有一些其他控件。我的意图是让 ScrollViewer 占据可用的屏幕下部(约400像素),并且其内容可以在垂直方向上滚动(内容高度约为800像素)。
现在,当前没有垂直滚动 - 当我尝试拖动时,视图返回到之前的位置,就好像视口大小恰好与内容大小匹配。当我查看 ViewportHeight 属性时,它是 ~800 像素 - 与内容相同。
ScrollViewer 的高度未设置(“Auto”); 我以为它会恰好占据可用的空间。显然不是这种情况。问题 - 除了手动设置高度之外,还有没有一种实现“视口高度正好等于您剩余的垂直空间”的逻辑的方法?
编辑:这是 XAML,已删除不相关细节:
<Pivot x:Name="Root">
<ctls:PivotItem>
<ctls:PivotItem.Header>Title</ctls:PivotItem.Header>
<StackPanel>
<!-- More stuff here-->
<ScrollViewer Name="MenuPanel" HorizontalScrollBarVisibility="Disabled">
<Canvas x:Name="Menu" HorizontalAlignment="Left" VerticalAlignment="Top">
</Canvas>
</ScrollViewer>
</StackPanel>
</ctls:PivotItem>
</Pivot>
< p > 画布的宽度和高度在代码中设置。 < /p >