windows-phone-7 - WP7 Mango 中的列表框是否默认虚拟化?

标签 windows-phone-7 windows-phone-7.1

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

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

" For more information about enabling data virtualization on data-bound ListBox controls, see Improving ListBox Performance in Silverlight for Windows Phone 7: Data Virtualization"



但是我认为默认情况下会启用列表框虚拟化,并在 Mango 版本中发布。
那是对的吗?默认情况下,列表框数据是否绑定(bind)到虚拟化的可观察集合?

最佳答案

默认情况下 Ui 是虚拟化的 - 因此列表框为列表项重用数据模板,并且仅呈现那些实际滚动到 View 中的列表项。

但是,如果您使用 observablecollection,则数据不会被虚拟化。

因此,如果您有一个包含 1,000,000 个项目的列表,那么所有项目都将在内存中,但只会创建和绘制其中少数项目的 ui。

要同时虚拟化数据,您需要实现自定义 ilist,可能还支持 inotifycollectionchanged。例如,此实现可能使用 SQLite 仅在滚动需要时加载数据项。

关于windows-phone-7 - WP7 Mango 中的列表框是否默认虚拟化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12608628/

相关文章:

c# - windows phone游戏分级证书

c# - 相机图片像素测量 - Windows Phone

silverlight - 是否有适用于 Windows Phone 7.5 (Mango) 的 ListCollectionView 或 PagedCollectionView 类

c# - 在 WP7 中存储 LiveConnectSession

silverlight-4.0 - 如何在 Windows Phone 7 Silverlight 应用程序中将图像旋转到特定角度?

asp.net - SQL Azure 的 OData 服务是只读的吗?

windows-phone-7 - 我无法让 ReactiveUI MessageBus 在 Windows Phone 7 上工作

in-app-purchase - Windows Phone 市场是否允许应用内购买?

c# - Windows Phone - 链接到应用商店中的发布者

c# - MVVM 使用 INotifyPropertyChanged Model 不通知 ViewModel