2

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

 MainScrollViewer.ScrollToHorizontalOffset(x);

但随后它很快“跳”在那里。我想要一个平滑的动画直到 x。

4

2 回答 2

0

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

于 2012-08-31T17:48:05.547 回答
0

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

说每 500 毫秒它增加 10 像素。

于 2012-08-31T17:51:10.987 回答