是列表框默认情况下,在WP7芒果虚拟化?(Is listbox virtualized by def

2019-09-23 01:29发布

在2012年8月,该文章发表http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh286406%28v=vs.92%29.aspx其中谈到数据库的最佳实践。

在这篇文章中,提到的是在列表框中数据虚拟化必须启用,并建议按照2010年8月的一篇文章。

“有关在数据绑定列表框控件实现数据虚拟化的详细信息,请参阅提高在Silverlight列表框的性能为Windows Phone 7:数据虚拟化 ”

但是我认为,列表框虚拟化在默认情况下用什么在芒果版发布启用。 那是对的吗? 是一个列表框databinded在默认情况下虚拟化可观察集合?

Answer 1:

用户界面在默认情况下虚拟化 - 这样的列表框重用的DataTemplates列表项,并且只呈现它实际上是滚动到视图中的列表项。

但是,如果你正在使用的ObservableCollection,那么数据不虚拟化。

所以,如果你有100万名的项目,一个名单,然后所有的人都将是在内存中,但只有少数人的UI将被创建和绘制。

要虚拟化的数据,以及,你需要实现一个自定义的IList,可能还支持inotifycollectionchanged。 这实现可能,例如,使用SQLite,因为它们是通过滚动需要只加载数据项。



文章来源: Is listbox virtualized by default in WP7 Mango?