私はいくつかDataGrid
の'を含むWPFプロジェクトに取り組んでおり、それらのいくつかでは、カスタムの並べ替えアルゴリズムを適用する必要があります。だから私はこれを達成する方法を探していました、そして多くのウェブページで私は次のコードを見つけました:
var myListView = CollectionViewSource.GetDefaultView(myDataGrid.ItemsSource);
ListCollectionView myListCollectionView = myListView as ListCollectionView;
myListCollectionView.CustomSort = new CustomSorter();
.
.
.
public class CustomSorter : IComparer
{
public int Compare(object x, object y)
{
// sorting logic ...
}
}
これはカスタムソートを実行するための非常に良い方法のようですが、私の問題は、カスタムソートアルゴリズムを設定する機能がないことに加えて、オブジェクトであることが判明したため、変数myListView
をキャストできないことです。ListCollectionView
BindingListCollectionView
私はこの解決策を見つけましたが、彼らは次のことをしようとしているので、私にはうまくいきません:
ListCollectionView coll = new ListCollectionView(CollectionViewSource.GetDefaultView(myDataGrid.ItemsSource));
ただし、ICollectionViewオブジェクト(GetDefaultViewが返す関数)をパラメーターとして受け取るコンストラクターはありません。
では、BindingListCollectionViewオブジェクトにカスタムの並べ替えアルゴリズムを適用する方法はありますか?
前もって感謝します。
編集:
残念ながら、ソリューションはDataGrid
一般的である必要があるため、ソリューションは分割されたクラスに配置されています。
誰かが私を助けてくれることを願っています。