【发布时间】:2011-09-07 23:51:54
【问题描述】:
不久前我写了一个 Windows Phone 7 跳转列表控件:
http://www.scottlogic.co.uk/blog/colin/2011/01/a-windows-phone-7-jump-list-control/
我收到了很多人的请求,希望在跳转列表的顶部添加一个“芒果”风格的“粘性”类别标题。我已经在控件顶部添加了一个类别标题,并且已经确定了如何更新它的位置,以便它在列表滚动时滑入到位,但是,Mango 给我带来了一些问题......
使用 NoDo,当 ScrollViewer 滚动时,我通过在 ScrollViewer 模板中定位 Scrollbar 并处理 ValueChanged 事件来更新我的 UI。这在我的 NoDo 手机上运行良好。
但是,我有 Mango 开发人员工具,当我在模拟器中运行相同的代码时,“粘性”类别标题位置会跳转而不是平滑移动。我的猜测是,这在某种程度上与 Mango 中的滚动改进有关,UI 是否通过渲染/合成器线程更新而没有触发 ValueChanged 事件?
我也尝试过通过 CompositionTarget.Rendering 更新 UI,这在 Mango 中又是令人兴奋的。此外,由于 WP7 控件未实现 IDisposable,因此很难确定何时删除对该事件的订阅。
那么,有人知道我该如何解决这个问题吗?如何在 Mango WP7 设备上平滑地更新我的 UI 以响应垂直滚动?
【问题讨论】:
标签: silverlight windows-phone-7 windows-phone-7.1