【问题标题】:How to control the scroll-position of a scrollviewer in windows phone如何控制windows phone中scrollviewer的滚动位置
【发布时间】:2012-01-08 08:27:14
【问题描述】:

我正在使用滚动查看器来显示内容,并向滚动查看器添加了“DoubleTap”事件。在doubleTap 事件中,我想让scrollviewer 自动向上滚动到scrollviewer 的顶部,但是我找不到任何属性来控制scrollviewer。有什么想法吗?

提前致谢。

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

【问题讨论】:

    标签: windows-phone-7 scrollviewer


    【解决方案1】:

    您没有属性,但您有两种方法:ScrollToVerticalOffset(垂直滚动)和 ScrollToHorizo​​ntalOffset(水平滚动)。

    所以在你的情况下,这段代码应该可以解决问题:

    this.scrollViewer2.ScrollToVerticalOffset(0);
    

    【讨论】:

    • 请注意,偏移量与您要滚动到的 ListBoxItem 的索引有关,而不是像素值。它存储为双精度,例如5.83 将滚动到项目 5 和 6 之间的位置。
    【解决方案2】:

    另外请注意,它在 8.1 之后将过时或可能不可用。 使用

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

    改为。

    【讨论】:

      【解决方案3】:

      您可以使用此代码:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多