我创建了一个带有嵌套ListBox和字符串的简单应用程序。如果我滚动它真的很快 - 有空的空间。我可以提高渲染速度或 我能以某种方式减慢ListBox中的滚动速度吗?
答案 0 :(得分:0)
为了克服滚动时的黑色现象,您需要虚拟化滚动控件。为此,您应该继承IList并创建自己的集合,类似于ObservableCollection,您必须根据缓存要求覆盖默认索引器,同时为项目维护缓存。我觉得这可能就是你要找的东西:http://blogs.msdn.com/b/ptorr/archive/2010/08/16/virtualizing-data-in-windows-phone-7-silverlight-applications.aspx
该页面上有一个示例项目。试试吧。
我也觉得你正面临这个问题http://blog.rsuter.com/?p=258。我想这将使用虚拟化本身来解决。希望它有所帮助
答案 1 :(得分:0)
米兰发布的博客是一个很好的消息来源。通过在滚动时更改列表项的项模板来虚拟化数据。当布局复杂时,这不符合预期。
但我建议你更多地研究你正在进行的布局。拥有太多堆栈面板以使布局有点通用会破坏性能。