1

我想对 a 进行排序,CollectionViewSource但我需要设置一个条件而不是PropertyName。事实上,我想使用CollectionViewSourcein进行下面的排序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>
4

1 回答 1

0

您可以通过实现自己的IComparer并将其设置为类的公共CustomSort属性来应用自定义排序逻辑ListCollectionView。但这不是您问题的完整答案,而是您可以前进的方向。

您可以实现此目的的最简单方法

Class2Colection.OrderBy(s => s.Id).OrderBy(s =>!s.Id.HasValue));

inxaml是在您的数据类中公开另一个属性,该属性将返回!Id.HasValue并按其排序。

于 2013-02-21T12:50:26.970 回答