WPFでMVVMを使用して、(複数のヘッダーで)ページングと並べ替えを実行するのに苦労しています。
カスタムコントロールを使用してページングを実行し、ソートも一種の作業を行っていますが、完全ではありません。
コマンドをバインドするイベントSortingイベントを処理して、SortDescriptions(ICollectionView)にページの並べ替えを実行させることができます。これは複数のヘッダーで機能します。
唯一のことは、DataGridSortingEventArgsで処理を設定しない場合、クライアントもソートすることです。私は望んでいませんが、DataGridSortingEventArgsを設定すると、ソートインジケーターが表示されません。
- - 結果 - -
カスタムページングを実装しました。
DataGridの各ヘッダーにSortDirectionのバインディングを使用します。
DataGridの並べ替えイベントを処理しました(GalaSoftを使用)
2.1。引数を処理に設定します
2.2。列の方向を手動で設定します(引数から)
2.3。2からのバインディング(ソート方向のないもの)を使用してSortDescriptionsを削除します
2.5。ICollectionViewの列からSortDescriptionを挿入します
プレスト。必要に応じて動作します。