0

ItemsSource当我得到这个异常时,我想为我做自定义排序:

无法比较数组中的两个元素。

这很明显,因为我使用转换器类来显示基于对象的正确值。对象是类型的object,可以包含多种类型,所以这里排序不起作用。我上网了,但唯一的解决方案是 a ListCollectionView,而我的不是。这不会是一件坏事,除了另一个CollectionView类没有为我们提供CustomSort属性这一事实。

我可以解决这个问题的一种方法是使用 上的SortMemberPath属性DataGridTextColumn,但这远非理想,因为我需要为我显示的每个属性创建一个新属性(使用转换器)。这会导致不必要的混乱,让我的课程看起来很糟糕。这个“解决方案”对我来说似乎也是一个完整的解决方法,我希望有更好的解决方案。唯一的问题是,我找不到它,有人知道更好的方法吗?

4

1 回答 1

0

我认为使用 DataGrid 的 CollectionView 或 OOTB 功能进行排序并不容易。一种解决方案可能是对您绑定为 ItemsSource 的列表进行排序。

于 2012-08-04T19:56:37.473 回答