2012年8月,本文发表了关于数据库最佳实践的http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh286406%28v=vs.92%29.aspx。
本文中提到,列表框中的数据虚拟化必须启用,并建议遵循2010年8月的一篇文章。
有关在数据绑定ListBox控件上启用数据虚拟化的详细信息,请参阅改善Silverlight for Windows 7中的ListBox性能:数据虚拟化
但是,我认为listbox虚拟化在默认情况下是使用Mango版本发布的。对吗?默认情况下,列表框是否被绑定到可观察的集合中?
发布于 2012-09-26 19:12:33
Ui在默认情况下是虚拟化的-因此列表框重用列表项的数据板,并且只呈现那些实际滚动到视图中的列表项。
但是,如果您使用的是观察收集,那么数据并不是虚拟化的。
因此,如果您有一个包含1,000,000项的列表,那么所有这些项目都将在内存中,但是只有少数项目的ui将被创建和绘制。
为了虚拟化数据,您还需要实现一个自定义ilist,可能还需要支持inotifycollectionchanged更改。例如,这个实现可能使用SQLite只加载滚动所需的数据项。
https://stackoverflow.com/questions/12608628
复制相似问题