WP7 Listbox UI虚拟化如何工作

时间:2012-11-14 11:24:03

标签: windows-phone-7 memory-leaks observablecollection virtualizingstackpanel

我正在使用具有VirtualizingStackPanel的ListBox,据说默认支持UI虚拟化。

但是,当我将 listStudent (类型为ObservableCollection,并且其中有5名学生)设置为ItemsSource作为Listbox。然后,每当用户滚动到最后,我将另外5名学生添加到我的 listStudent (当然还会通知UI)。但我发现消耗的内存不断增加。在内存方面与StackPanel没有区别

UI虚拟化如何工作?将新项目添加到 listStudent 时如何保持低内存?

3 个答案:

答案 0 :(得分:0)

虚拟化意味着列表不构造您尚未滚动到的列表项。

因此您可以将测试代码放入项目的加载函数或使用转换器代码。你可以看看虚拟化是否有效

例如

你可以将转换器绑定到学生的名字道具上,然后你可以记录它。然后你知道该项目何时创建

答案 1 :(得分:0)

确保您没有修改销毁用户界面虚拟化的ListBox ItemsPanel

答案 2 :(得分:0)

Sheldon_Xiao on已在MSDN上指出helpfully explain UI virtualizartion

的一些参考资料