我正在尝试对从CollectionViewSource派生的集合进行排序,该集合只有SortDescriptions用于排序.不幸的是我需要能够使用我自己的自定义IComparer,但我似乎找不到办法做到这一点.想想数据网格,我有自己的多列排序算法.我想一种方法是使用一个实现CollectionChanged的集合,它是CollectionViewSource和我的真实数据源之间的附加层,但如果有人有任何建议,我真的更喜欢更好的方法.
mic*_*tan 15
Bea Stollnitz 在这里有一个自定义排序示例.
该文章的关键点是绑定CollectionViewSource到IList实现而不是弱ICollection或IEnumerable接口.有了它,该View属性返回一个ListCollectionView实例而不是CollectionView.然后,您可以使用ListCollectionView.CustomSort分配IComparer来进行自定义排序.为了简化操作,您还可以使用该Comparer<T>.Create方法来使用Comparison委托而不是整个类.