0

ListCollectionView在 ViewModel 中使用 a 来表示我的数据。我正在使用 的SortDescriptions进行ListCollectionView数据库查询。当排序发生变化时,我想通知 ViewModel 重新加载数据。

目前我正在使用的 CollectionChanged 事件ListCollectionView.SortDescriptions

(EnitityView.SortDescriptions as INotifyCollectionChanged).CollectionChanged +=
    (sender, args) =>
        {
            Task.Run(() => ReloadSort());
        };

但是,当我对多个列进行排序时,每一列都会调用它,并且它会开始多次加载。

是否有可能向ListCollectionView或添加诸如排序事件之类DataGrid的东西(如果可能带有附加行为之类的东西,我不喜欢这种小东西的控制继承)?的 Sorting-EventDataGrid不适用于我的目的,因为SortDescriptions调用它时尚未更新。

4

1 回答 1

0

我认为你的意思是你需要在添加排序描述符后对你的集合进行排序。如果您从代码中添加描述符,那么我认为您可以ReloadSort()在将它们全部添加在一起之后调用..您可能需要Refresh()稍后ListCollectionView调用。

于 2013-08-29T15:09:12.607 回答