【问题标题】:Scroll to a position in Scrollviewer with normal scrollanimation使用普通滚动动画滚动到 Scrollviewer 中的某个位置
【发布时间】:2012-08-31 17:33:16
【问题描述】:

我有一个带有滚动查看器的 Metro 风格应用。现在我想在用户单击按钮时滚动到某个位置。我试过了:

 MainScrollViewer.ScrollToHorizontalOffset(x);

但是它很快就“跳”到了那里。我想要一个流畅的动画直到 x。

【问题讨论】:

    标签: c# xaml windows-8 microsoft-metro scrollview


    【解决方案1】:

    没有开箱即用的 API 可以让您做到这一点。 也没有可以用动画定位的属性。 您需要使用基于帧的动画(基本上确定您在时间轴中的位置以及每个 CompositionTarget.Rendering 事件的位置 - 更新偏移量)或创建一个附加的依赖属性,该属性在其值更改时调用 ScrollToHorizo​​ntalOffset 并将该属性定位为动画。

    【讨论】:

    【解决方案2】:

    您可以创建一个运行异步的方法并具有一个递增 ScrollToHorizo​​ntalOffset(int x) 的计时器。

    假设它每 500 毫秒增加 10 像素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-07
      • 2012-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-11
      相关资源
      最近更新 更多