我想对CollectionViewSource
进行排序,但我需要设置条件而不是PropertyName
。事实上,我想在CollectionViewSource
中使用Xaml
进行排序。
Class2Colection.OrderBy(s => s.Id).OrderBy(s =>!s.Id.HasValue));
<CollectionViewSource Source="{Binding Class2Colection}">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="Id" Direction="Ascending"/>
<scm:SortDescription PropertyName="??" Direction="Ascending"/>
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
答案 0 :(得分:0)
您可以通过实施自己的IComparer
并将其设置为CustomSort
类的公共ListCollectionView
属性来应用自定义排序逻辑。但这不是你问题的完整答案,而是你可以前进的方向。
最简单的方法就是实现这个目标
Class2Colection.OrderBy(s => s.Id).OrderBy(s =>!s.Id.HasValue));
xaml
中的是在数据类中公开另一个属性,该属性将返回!Id.HasValue
并按其排序。