如何在Windows Phone中控制ScrollViewer的滚动位置

3

我正在使用一个滚动视图来展示内容,并在滚动视图上添加了一个“DoubleTap”事件。在双击事件中,我想让滚动视图自动滚动到顶部,但我找不到任何控制滚动视图的属性。有什么想法吗?

提前感谢。

            <Grid x:Name="ContentPanel" Grid.Row="1" Margin="0,0,0,0">
                <ScrollViewer x:Name="scrollViewer2" Height="auto">
                    <toolkit:GestureService.GestureListener>
                        <toolkit:GestureListener  DoubleTap="GestureListener_DoubleTap"/>
                    </toolkit:GestureService.GestureListener>
                    <StackPanel x:Name="stackPanel2" Height="auto">
                         <!--contents-->
                    </StackPanel>
                </ScrollViewer>
            </Grid>
3个回答

7

您没有属性,但是有两种方法可以实现这一点: ScrollToVerticalOffset(用于垂直滚动)和ScrollToHorizontalOffset(用于水平滚动)。

因此,在您的情况下,以下代码应该可以解决问题:

this.scrollViewer2.ScrollToVerticalOffset(0);

2
请注意,偏移量与您要滚动到的 ListBoxItem 的索引相关,而不是像素值。它以 double 类型存储,例如 5.83 将滚动到第 5 和第 6 个项目之间的位置。 - Stonetip

0

还要注意的是,在8.1之后,它可能会过时或不再可用。

this.scrollViewer2.ChangeView(0, 0, 1);

instead.


0
你可以使用这段代码:
this.scrollViewer2.ChangeView(null, 0, null);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接