Windows phone 7 WP7列表框如何显示加载更多项目
我知道Windows Phone 7列表框默认使用Windows phone 7 WP7列表框如何显示加载更多项目,windows-phone-7,listbox,virtualizingstackpanel,Windows Phone 7,Listbox,Virtualizingstackpanel,我知道Windows Phone 7列表框默认使用虚拟化StackPanel来优化内存 但是,当我向视图模型添加更多项时,列表框不会显示这些新项。我必须向上滚动,然后向下滚动才能看到它们 我的视图模型实现了IList 很多文章都有这个问题,比如 如何解决此问题?添加更多项后,viewmodel是否实现接口并引发PropertyChanged事件 更好的解决方案是使绑定的viewmodel属性与。在集合中添加/删除项目时,此类将自动引发PropertyChanged事件。我已经使用了INotify
虚拟化StackPanel
来优化内存
但是,当我向视图模型添加更多项时,列表框不会显示这些新项。我必须向上滚动,然后向下滚动才能看到它们
我的视图模型实现了IList
很多文章都有这个问题,比如
如何解决此问题?添加更多项后,viewmodel是否实现接口并引发PropertyChanged事件
更好的解决方案是使绑定的viewmodel属性与。在集合中添加/删除项目时,此类将自动引发PropertyChanged事件。我已经使用了INotifyPropertyChanged,听说加载更多项目会破坏虚拟化,我们如何解决此问题?您可以处理CleanUpVirtualizedItemEvent()并取消重新虚拟化。您可能还希望查看将虚拟化模式()设置为循环使用。为什么要取消重新虚拟化?如何取消?如果我在viewmodel中添加更多项,listbox会继续虚拟化还是破坏它?我有点困惑。你说你已经实现了INotifyPropertyChanged。添加新项目时,它是否按预期工作,而不必在添加项目和引发PropertyChanged事件时向上滚动,然后向下滚动?你只是担心虚拟化不能正常工作?当我使用ObservableCollection作为绑定源时,向这个集合添加更多的项,我看到占用的内存增加了,这意味着UI虚拟化不能正常工作。因此,我创建了一个实现IList和INotifyPropertyChanged的类,内存不像以前那么高,但我必须向上滚动,然后向下滚动以查看新项目:(