我想排序從CollectionViewSource派生的集合,它只是有SortDescriptions進行排序。不幸的是,我需要能夠使用我自己的自定義IComparer,但我似乎無法找到一種方法來做到這一點。想想一個數據網格,我有自己的多列排序算法。我在想一種方法是使用一個實現CollectionChanged的集合,這是CollectionViewSource和我的真實數據源之間的一個附加層,但如果有人有任何建議,我真的更喜歡更好的方法。使用自定義IComparer排序CollectionViewSource
12
A
回答
13
Bea Stollnitz有一個自定義排序示例here。
該文章的關鍵點是將CollectionViewSource
綁定到IList
實現,而不是較弱的ICollection
或IEnumerable
接口。與此同時,View
財產返回ListCollectionView
實例而不是CollectionView
。然後,您可以使用ListCollectionView.CustomSort
指定一個IComparer
來執行您的自定義排序。爲了使事情更容易,您可以另外使用Comparer<T>.Create
方法來使用代理,而不是整個類。
相關問題
- 1. 自定義排序邏輯組使用CollectionViewSource
- 2. 使用IComparer進行排序
- 3. ColumnHeader使用CollectionViewSource排序
- 4. 自定義排序(IComparer在三個領域)
- 5. C#自定義排序字符串的IComparer
- 6. 問題與自定義IComparer列表(排序) - c#
- 7. Int64的自定義IComparer
- 8. C#IComparer使用不同條件的子計數的自定義排序列表
- 9. 如何將自定義IComparer用於SortedDictionary?
- 10. 使用Linq和IComparer排序ObservableCollection
- 11. 如何引用默認的IComparer在一個自定義字典值排序
- 12. CollectionViewSource動態排序
- 13. Linq中的自定義Icomparer到對象
- 14. IComparer沒有正確排序
- 15. 自定義排序
- 16. Rails使用自定義方法排序
- 17. 使用Dgrid自定義排序
- 18. Mysql的自定義排序使用Zend
- 19. 不使用因子自定義排序
- 20. 使用自定義的API排序 - removeAndAppend
- 21. 使用自定義AbstractTableModel排序
- 22. 的Array.Sort使用自定義的IComparer接口
- 23. ngTable - 定義自定義排序次序
- 24. 定義自定義排序順序
- 25. 類定義自定義排序順序
- 26. 通過自定義排序自定義排序
- 27. 使用linq自定義排序字符串排序
- 28. 使用自定義排序偏好對數組排序?
- 29. 自定義排序與插入排序
- 30. 用SimplePie自定義排序順序
該文章的關鍵點是將`CollectionViewSource`綁定到`IList`實現,而不是一個較弱的`ICollection`或`IEnumerable`接口。與此同時,`View`屬性返回一個`ListCollectionView`實例,而不是`CollectionView`。然後你可以使用`ListCollectionView.CustomSort`來指定一個`IComparer`來完成你的自定義排序。爲了使事情更容易,您可以另外使用[`Comparer .Create`](http://msdn.microsoft.com/zh-cn/library/hh737198.aspx)方法來使用「比較」代表而不是全班。 –
ygoe
2015-08-11 06:37:59