ListCollectionViewではないICollectionViewを返します。ListCollectionViewが持つ機能を取得するには、ビューの上にビューが必要になる可能性があります。また、ICollectionViewはCollectionChangedを実装しているため、BindingListCollectionViewを使用する必要はありません。
DataView view = (myListView.ItemsSource as DataTable).DefaultView;
ListCollectionView coll = new ListCollectionView(CollectionViewSource.GetDefaultView(view));
代替案は次のようになりますが:
DataView view = (myListView.ItemsSource as DataTable).DefaultView;
BindingListCollectionView coll = new BindingListCollectionView(view);
1つのビューのみが必要な場合。
WPFコントロールに直接バインドする場合は、BindingListCollectionView / ListCollectionViewを作成せずに直接バインドすることをお勧めします。これは、DefaultViewで既にDataTableの並べ替えが許可されているためです。
Binding binding = new Binding() { Source = (myListView.ItemsSource as DataTable) };
this.myListView.SetBinding(myListView.ItemsSourceProperty, binding);
DataView view = (myListView.ItemsSource as DataTable).DefaultView;
view.Sort = "Age";
うまくいけば、役に立ちました
TamusJRoyce