Wpf 如何使用自定义排序逻辑对绑定的列表框进行排序?
我想从视图而不是在ViewModel中对其进行排序Wpf 如何使用自定义排序逻辑对绑定的列表框进行排序?,wpf,mvvm,Wpf,Mvvm,我想从视图而不是在ViewModel中对其进行排序 我看到的每个示例都使用排序描述,但它不是可定制的。视图模型也可以负责视图及其表示所消耗的数据,模型不应该关心数据的显示 您可以将视图绑定到ViewModel上的ObservableCollection,您可能已经拥有了它。 您并没有说明如何允许用户进行排序,因此为了方便起见,我假设有一系列按钮,每个按钮都将绑定到ViewModel上的ICommand,这将修改ObservableCollection以更改其顺序 这将使用ObservableCo
我看到的每个示例都使用排序描述,但它不是可定制的。视图模型也可以负责视图及其表示所消耗的数据,模型不应该关心数据的显示 您可以将视图绑定到ViewModel上的ObservableCollection,您可能已经拥有了它。 您并没有说明如何允许用户进行排序,因此为了方便起见,我假设有一系列按钮,每个按钮都将绑定到ViewModel上的ICommand,这将修改ObservableCollection以更改其顺序 这将使用ObservableCollection中的新顺序刷新视图
您仍在维护层,避免代码落后,并允许对排序逻辑进行测试。您是否尝试过IComparer在视图模型中使用绑定集合实现自定义排序?正如我所说,我希望避免这种情况。出于好奇,在视图中设计排序的原因是什么?根据“定义”,数据操作通常应该在ViewModel中完成。但这并不是真正的数据操作(在我看来)。数据不受显示顺序的影响,它只影响用户对数据的看法。因此,在视图中这样做。