WP7:ListBox.ScrollIntoView平滑滚动

时间:2010-10-26 12:51:56

标签: c# .net windows-phone-7

如何将内容平滑滚动到ListBox? 我尝试使用ListBox.ScrollIntoView,但它会立即滚动到所选项目。

1 个答案:

答案 0 :(得分:3)

您可以使用动画来实现该目标 - 遗憾的是,滚动的Horizo​​ntal / VerticalOffset无法直接设置动画,因此您必须在中介对象上设置动画属性,然后依次设置所需的值。

有一篇关于这种方法的完整文章here

    <ScrollViewer x:Name="MyScroller">
        <ScrollViewer.Resources>
            <Storyboard x:Name="ScrollAnimation">
                <!-- Animate from top to bottom -->
                <DoubleAnimation x:Name="VerticalOffsetAnimantion"
                        Storyboard.TargetName="Mediator"
                        Storyboard.TargetProperty="VerticalOffset"
                        Duration="0:0:1">
                    <DoubleAnimation.EasingFunction>
                        <!-- Ease in and out -->
                        <ExponentialEase EasingMode="EaseInOut"/>
                    </DoubleAnimation.EasingFunction>
                </DoubleAnimation>
            </Storyboard>
        </ScrollViewer.Resources>