如何将内容平滑滚动到ListBox? 我尝试使用ListBox.ScrollIntoView,但它会立即滚动到所选项目。
答案 0 :(得分:3)
您可以使用动画来实现该目标 - 遗憾的是,滚动的Horizontal / 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>