我想为ItemsSource
做自定义排序,因为我得到了这个例外:
无法比较数组中的两个元素。
这很明显,因为我使用转换器类来显示基于对象的正确值。该对象的类型为object
,可以包含多种类型,因此排序在此处不起作用。我去了互联网,但唯一的解决方案是ListCollectionView
,我的不是。这不会是一件坏事,除了另一个CollectionView
类没有为我们提供CustomSort
属性。
我能解决这个问题的一种方法是使用SortMemberPath
上的DataGridTextColumn
属性,但这远非理想,因为我需要为我显示的每个属性创建一个新属性(带有使用转换器)。这导致不必要的混乱,使我的课看起来很糟糕。这个“解决方案”对我来说似乎是一个完整的解决方法,我希望有一个更好的解决方案。唯一的问题是,我找不到,有没有人知道更好的方法?
答案 0 :(得分:0)
我认为使用DataGrid的CollectionView或OOTB功能没有简单的排序方法。一个解决方案可能是将您绑定的列表排序为ItemsSource。