Возвращает ICollectionView, который не является ListCollectionView. Скорее всего, вы хотите, чтобы представление поверх представления получало функции, которые имеет 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);
Если вам нужен только один просмотр.
Если вы привязываете непосредственно к элементу управления 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