[英]WP7 Updating the UI while scrolling (Mango)
前一段时间,我写了一个Windows Phone 7跳转列表控件:
http://www.scottlogic.co.uk/blog/colin/2011/01/a-windows-phone-7-jump-list-control/
我收到了许多人的请求,要求在跳转列表的顶部添加“芒果”样式的“粘性”类别标题。 我在控件的顶部添加了一个类别标题,并研究了如何更新其位置,以便它在列表滚动时滑入到位,但是,Mango给我带来了一些问题...
使用NoDo,我可以通过在ScrollViewer模板中找到Scrollbar并处理ValueChanged事件来在ScrollViewer滚动时更新UI。 在我的NoDo手机上可以正常使用。
但是,我有Mango开发人员工具,当我在模拟器中运行相同的代码时,“粘性”类别标题位置会跳跃而不是平滑移动。 我的猜测是,这在某种程度上与Mango的滚动改进有关,是否通过render / compositor线程更新了UI,而没有触发ValueChanged事件?
我也尝试通过CompositionTarget.Rendering更新UI,这在Mango中还是很容易的。 同样,由于WP7控件未实现IDisposable,因此很难确定何时删除对此事件的订阅。
那么,有谁知道我如何解决这个问题? 如何响应芒果WP7设备上的垂直滚动而顺利更新UI?
您可以通过设置ScrollViewer.ManipulationMode="Control"
附加属性来选择不进行芒果性能滚动,如Silverlight for Windows Phone Performance团队博客中所述 。 我希望这可以解决您遇到的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.