好吧,我想我在这里做得不对。异常,而试图手动排序PagedCollectionView
我使用的是PagedCollectionView映射到一个自定义类型的的ObservableCollection。我希望能够在用户尝试对DataGrid列进行排序时手动对基础集合进行排序。
我做了以下内容:
obs = new ObservableCollection<Seats>(arrSeats);
view = new PagedCollectionView(obs);
INotifyCollectionChanged sortchangeNotifier = view.SortDescriptions as INotifyCollectionChanged;
sortchangeNotifier.CollectionChanged += new NotifyCollectionChangedEventHandler(sortchangeNotifier_CollectionChanged);
grdData.ItemsSource = view;
void sortchangeNotifier_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
// What to do here?
}
事件处理程序只要单击列标题被正确调用。但是,每当我尝试修改ObservableCollection时,我都会得到以下例外情况:
刷新被延迟时,无法更改或检查PagedCollectionView的内容或当前位置。
我希望能够实现自己的自定义排序算法。有任何想法吗?
谢谢!
编辑
那么,这是特别疯狂,但是当我在事件处理方法的try/catch块缠上了我的密码,更改将实际应用。有任何想法吗 :) ?
silverlight网格没有排序事件。 – SiN