0

ItemsSourceこの例外が発生したため、カスタムソートを実行したいと思います。

配列内の 2 つの要素を比較できませんでした。

オブジェクトに基づいて適切な値を表示するためにコンバーター クラスを使用しているので、これは明らかです。オブジェクトは型objectであり、複数の型を含むことができるため、ここでは並べ替えは機能しません。私はインターネットにアクセスしましたが、唯一の解決策は、ListCollectionView私のものではありません。CollectionView他のクラスがプロパティを提供しないという事実を除けば、これはそれほど悪いことではありませんCustomSort

これを解決する 1 つの方法は、 のSortMemberPathプロパティを使用DataGridTextColumnすることですが、表示するプロパティごとに新しいプロパティを作成する必要があるため (コンバーターを使用して)、これは理想的とは言えません。これにより、不要な混乱が生じ、クラスが見栄えが悪くなります。この「解決策」は、私には完全な回避策のようにも思えます。より良い解決策があることを願っています。唯一の問題は、私はそれを見つけることができなかったことです.誰かがより良い方法を知っていますか?

4

1 に答える 1

0

CollectionView や DataGrid の OOTB 機能を使用して並べ替える簡単な方法はないと思います。1 つの解決策は、ItemsSource としてバインドしたリストを並べ替えることです。

于 2012-08-04T19:56:37.473 に答える