1

我使用的ListBox有VirtualizingStackPanel,据说默认支持UI虚拟化。WP7 Listbox UI虚拟化如何工作

然而,当我把我的listStudentObservableCollection类型,并在这5名学生)作为ItemsSourceListbox。然后,每当用户滚动到结尾,我添加另外5个学生到我的名单学生(当然UI是通知)。但是我看到消耗的内存在不断增加。在内存方面与StackPanel没有什么不同

UI虚拟化如何工作?添加新物品时如何保持低位listStudent

+0

OS预载3大小的屏幕的(?)。你能增加更多的学生(例如100)来看看差异吗? – Ku6opr

+0

@ Ku6opr我多次添加5个学生,所以当我的listStudent.Count达到100以上时,我向上滚动。 ListBox虚拟化机制必须销毁那些不在屏幕上的ListBoxItem。但它不! – onmyway133

回答

0

虚拟化手段列表不构建您尚未滚动到的列表项目。

所以你可以把你的测试代码放到项目的加载函数或使用的转换器代码中。你可以看到虚拟化的工作是否

例如

您可以将转换器结合学生的姓名道具,当该项目创建确实

0

确保你不修改就可以登录它。那么你知道ListBoxItemsPanel,破坏UI虚拟化