我允许用户使用与
类似的东西对ItemsControl显示的项进行排序var listCollectionView = CollectionViewSource.GetDefaultView(myItemsControl.ItemsSource);
listCollectionView.CustomSort = mySortComparer;
// Alternative, same Problem:
// listCollectionView.SortDescriptions.Add(new SortDescription(myProperty));
我的收藏的ItemTemplate有点复杂,创建所有项目表示需要大量的时间。 我发现,使用分析器,每种类型重新创建ItemsControl中的每个项目,而不是使用旧项目,只是移动它们。
有没有办法阻止这种情况?
答案 0 :(得分:1)
如果您尚未使用VirtualizingStackPanel
作为ItemsControl的项目面板,请尝试使用。并在ItemsControl上将VirtualizingStackPanel.VirtualizationMode
附加属性设置为Recycling
。