SortViewをソートするためのSortDescriptionsを持つCollectionViewSourceから派生したコレクションをソートしようとしています。残念なことに私は独自のカスタムIComparerを使用できる必要がありますが、その方法を見つけることはできません。データグリッドを考えて、自分のマルチカラムソートアルゴリズムを持っています。 CollectionViewSourceと私の真のデータソースの間の追加レイヤーであるCollectionChangedを実装したコレクションを使用する方法があると思っていますが、誰かが何か提案をしていれば、より良い方法を好むでしょう。カスタムIComparerを使用してCollectionViewSourceを並べ替える
12
A
答えて
13
Bea Stollnitzには、カスタムソート例hereがあります。
この記事の要点は、ICollection
またはIEnumerable
インターフェイスではなく、IList
実装にCollectionViewSource
をバインドすることです。これにより、プロパティはCollectionView
の代わりにListCollectionView
インスタンスを返します。 ListCollectionView.CustomSort
を使用して、IComparer
を割り当てて、カスタムソートを行うことができます。さらに簡単にするには、Comparer<T>.Create
メソッドを使用して、クラス全体ではなくComparison
代理人を使用することもできます。
関連する問題
- 1. カスタムIComparerを使用して日付列でDataGridViewを並べ替える
- 2. swiftを使用してカスタム辞書を並べ替える3
- 3. ASPxPivotGridカスタム並べ替え/並べ替えを削除する
- 4. jQuery Sortableを使用してフォトアルバムを並べ替える(並べ替え)
- 5. コレクションのカスタム並べ替え
- 6. グリッドビューのカスタム並べ替え
- 7. SortableTableのカスタム並べ替え
- 8. RubyでTSortを使用して配列の並べ替えと並べ替え
- 9. C#使用方法パブリッククラスオブジェクトの並べ替え/並べ替え
- 10. WebGridを使用した並べ替え
- 11. PHPを使用した並べ替え
- 12. カスタムmysqlをフィールド値で並べ替え
- 13. Collections並べ替えて両方のArrayListを並べ替える
- 14. C++の選択並べ替えなし並べ替え並べ替えなし
- 15. 安定した並べ替えを使用してDataGridを並べ替える方法は?
- 16. post_views_count関数を使用して投稿を並べ替える方法(ビューで並べ替える)?
- 17. 選択並べ替え並べ替え
- 18. 並べ替えで並べ替え
- 19. MarkLogic node.js api - グループを並べ替え、並べ替えで並べ替え
- 20. 挿入挿入して並べ替えで並べ替え
- 21. 並べ替え式のリストを使用してクエリ可能なものを並べ替える
- 22. CSS3を使用してJavascriptで画像を並べ替えるビジュアル並べ替え
- 23. jQueryを使用してテーブル列を並べ替えて切り替えます
- 24. XSLで並べ替えを使用
- 25. カスタム属性の値で並べ替え
- 26. は、カスタムの並べ替えのmysql
- 27. Pageableのカスタム並べ替えパラメータpage
- 28. SQL Serverのカスタム並べ替え関数
- 29. 配列のカスタム並べ替え
- 30. JavaカスタムArrayListオブジェクトの並べ替え
この記事の要点は、 'CollectionViewSource'をより弱い' ICollection'または 'IEnumerable'インターフェースではなく' IList'実装にバインドすることです。これにより、 'View'プロパティは' CollectionView'の代わりに 'ListCollectionView'インスタンスを返します。次に、 'ListCollectionView.CustomSort'を使ってカスタムソートを行うための' IComparer'を割り当てます。簡単にするために、[Comparer .Create'](http://msdn.microsoft.com/en-gb/library/hh737198.aspx)メソッドを使用して、代わりに 'Comparison'デリゲートを使用することもできますクラス全体。 –
ygoe