为DataGrid或CollectionView添加已排序的事件
本文关键字:排序 事件 添加 DataGrid CollectionView | 更新日期: 2023-09-27 18:29:34
我在ViewModel中使用ListCollectionView
来表示我的数据。我正在使用ListCollectionView
的SortDescriptions
进行数据库查询。我想通知ViewModel在排序发生更改时重新加载数据。
目前我正在使用ListCollectionView.SortDescriptions
:的CollectionChanged事件
(EnitityView.SortDescriptions as INotifyCollectionChanged).CollectionChanged +=
(sender, args) =>
{
Task.Run(() => ReloadSort());
};
但是,当我对多个列进行排序时,会对每个列调用此函数,并且它会开始多次加载。
是否有可能在ListCollectionView
或DataGrid
中添加类似Sorted事件的内容(如果可能的话,可以添加类似附加行为的内容,我不喜欢这种小事的控制继承)?DataGrid
的排序事件不适用于我的目的,因为SortDescriptions
在调用时还没有更新。
我认为这里的意思是,在添加排序描述符后,需要对集合进行排序。如果你从代码中添加描述符,那么我认为你可以在将它们全部添加在一起后调用ReloadSort()
。。您可能需要稍后致电Refresh()
获取ListCollectionView
。