我正在使用MVVM模式,我想对数据网格上的元素进行排序。在我的 View 模型中,我有一个带数据网格元素的ObservableCollection。
在数据网格中,我可以按列名称对元素排序进行排序,这样很好,并且可以用于多个列。我喜欢这个功能。
但是,我想做一些更具体的排序,例如,首先显示ColumnB具有“valueC”的元素,然后显示其余元素,当我为列名排序时,先显示该列的顺序具有“valueC”的元素,然后其余元素按我单击的列排序。
为此,我可以对 View 模型的ObservableCollection中的元素进行排序,但是我认为此功能更多地是在 View 中完成的,此外,因为我想按列排序,所以我不得不说查看被单击的列。
但是,我不知道是否有可能在 View 中执行这种复杂的排序,可能是通过某些转换器或以任何方式进行的。
非常感谢。
最佳答案
每个逻辑都必须在ViewModel中完成。 View必须不了解显示数据背后的逻辑。
在简单的情况下,您可以在 View 中订购商品,但在实际情况下,订购不仅会影响可见商品,而且还会影响由于分页而未显示的商品。
关于wpf - 在 View 或 View 模型中订购元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28946571/