コレクションを並べ替えるには次のコードを使用しますObservableCollection<T>
。
list = new ObservableCollection<SomeType>( list.OrderBy( c=>c.Ordinal ) );
このコードは動作しますが、「new」が含まれているのが気に入りません。ObservableCollection<T>
新しいコレクションを作成せずに、コレクションの内部要素の順序を変更する方法はありますか?
ありがとう、
ベストアンサー1
Observableコレクションのカスタムソート拡張メソッドを実装する
public static class ObservableCollection
{
public static void Sort<TSource, TKey>(this ObservableCollection<TSource> source, Func<TSource, TKey> keySelector)
{
List<TSource> sortedList = source.OrderBy(keySelector).ToList();
source.Clear();
foreach (var sortedItem in sortedList)
{
source.Add(sortedItem);
}
}
}
上記の回答は、ジェイダー氏のこの質問に対する返答に触発されたものである。質問