c# - 使用普通滚动动画滚动到 Scrollviewer 中的某个位置

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

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

 MainScrollViewer.ScrollToHorizontalOffset(x);

但随后它会快速“跳”到那里。我想要流畅的动画最多 x。

最佳答案

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

关于c# - 使用普通滚动动画滚动到 Scrollviewer 中的某个位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12220064/

相关文章:

c++ - Windows 7 和 Windows 8 进程 "ring"控件

c# - 如何使用 NHibernate 查询键值集合?

c# - 通过 NHibernate 和 AutoMapper 将 DTO 的实体 ID 转换为域的实体

c# - ASP :Label is not shown when visible is set to true?

c# - Swagger 找不到 ApiVersion ed 的操作

c# - InitializeComponent() - 不明确的调用警告?

wpf - 在 ViewModel 之间共享状态

wpf - 绑定(bind)到 "object.GetType()"?

javascript - 如何调试 Metro 风格应用程序中 eval 代码中的异常

c# - Windows RT - 按钮单击事件是否在 UI 线程上执行?