我创建了一个简单的应用程序,其中包含嵌套的 ListBox 和字符串。如果我滚动它真的很快 - 有空白空间。我可以提高渲染速度还是我可以以某种方式减慢 ListBox 中的滚动速度?
问问题
409 次
2 回答
0
为了克服滚动时出现的黑色,您需要虚拟化滚动控件。为此,您应该继承 IList 并创建自己的 Collection,类似于 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。我想这将使用虚拟化本身来解决。希望能帮助到你
于 2012-08-31T13:08:33.303 回答
0
米兰发布的博客是一个很好的起点。通过在滚动时更改列表项的项模板来虚拟化数据。当布局复杂时,这将无法达到预期。
但我建议你在你正在处理的布局上做更多的工作。有太多的堆栈面板以使布局有点通用会破坏性能。
于 2012-09-02T12:33:45.430 回答