前段时间我写了一个Windows Phone 7跳转列表控件:
http://www.scottlogic.co.uk/blog/colin/2011/01/a-windows-phone-7-jump-list-control/
我收到了很多人要求在跳转列表顶部添加“芒果”风格“粘性”类别标题的请求。我已经在控件的顶部添加了一个类别标题,并且已经计算出如何更新它的位置,以便在列表滚动时滑动到位,但是,芒果给我带来了一些问题......
使用NoDo,我通过在ScrollViewer模板中找到Scrollbar并处理ValueChanged事件来滚动ScrollViewer,从而更新我的UI。这在我的NoDo手机上运行良好。
但是,我有Mango开发人员工具,当我在模拟器中运行相同的代码时,'sticky'类别标题位置会跳转而不是平滑移动。我的猜测是,这在某种程度上与Mango中的滚动改进有关,是否通过渲染/合成器线程更新UI而不会触发ValueChanged事件?
我也尝试过通过CompositionTarget.Rendering更新UI,这在Mango中也是如此。此外,由于WP7控件未实现IDisposable,因此很难确定何时删除对此事件的订阅。
那么,有没有人知道如何解决这个问题?如何顺利更新我的UI以响应Mango WP7设备上的垂直滚动?
答案 0 :(得分:1)
如Silverlight for Windows Phone Performance team blog所述,您可以通过设置ScrollViewer.ManipulationMode="Control"
附加属性来选择停止滚动的芒果性能改进。我希望这可以解决你一直存在的问题。