我有以下情况:我得到一个应该按SortId
属性排序的项目列表。
我已经IComparable<T>
在我的 ItemViewModels 中实现了接口,这样我就可以Comparer.Default
在我的ICollectionView.CustomSort
属性中使用来应用排序而不使用反射(PropertySortDescription
确实如此)。
现在,我的问题是这些项目有时没有SortId
设置属性,因为它们应该简单地按照它们在集合中出现的顺序进行排序。但是,项目不是保持顺序,而是以相反的顺序显示,有时甚至完全混合 - 这似乎取决于项目的数量。
有没有办法避免这种行为?如果我不应用任何排序,则项目以正确的顺序出现。但是,我必须根据项目的SortId
属性动态打开或关闭排序 - 我根本不喜欢......还有其他想法吗?