Wpf 使用MVVM在DataGrid中进行分页和排序

Wpf 使用MVVM在DataGrid中进行分页和排序,wpf,mvvm,datagrid,Wpf,Mvvm,Datagrid,我正在努力在WPF中使用MVVM进行分页和排序(在多个头上) 我已经使用自定义控件进行了分页工作,排序也可以,但不完全可以 我可以处理事件排序事件,将命令绑定到该事件,让SortDescriptions(ICollectionView)对页面进行排序。这适用于多个标题 唯一的问题是,当我没有在DataGridSortingEventArgs上设置handled时,客户端也会进行排序。这是我不想要的,但当我设置DataGridSortingEventArgs时,排序指示符不会指示 ---结果---

我正在努力在WPF中使用MVVM进行分页和排序(在多个头上)

我已经使用自定义控件进行了分页工作,排序也可以,但不完全可以

我可以处理事件排序事件,将命令绑定到该事件,让SortDescriptions(ICollectionView)对页面进行排序。这适用于多个标题

唯一的问题是,当我没有在DataGridSortingEventArgs上设置handled时,客户端也会进行排序。这是我不想要的,但当我设置DataGridSortingEventArgs时,排序指示符不会指示

---结果---

  • 实现了自定义分页

  • 对DataGrid中的每个标头使用SortDirection上的绑定

  • 已处理DataGrid排序事件(使用GalaSoft)

  • 2.1。将参数设置为已处理

    2.2。手动设置列的方向(从args)

    2.3。使用2中的绑定删除SortDescriptions(没有排序方向的)

    2.5。从ICollectionView上的列插入SortDescription


    普雷斯托。它可以根据我的需要工作。

    您可以取消事件并设置“手动”

    我是否只需要设置“最后”排序方向?在进行多标题排序时?据我所知,您只能在1列上设置SortDirection,但您可以根据自己喜欢的列数进行排序