1

並べ替えたいのですがCollectionViewSource、代わりに条件を設定する必要があります。実際には、を使用してPropertyName以下の並べ替えを行います。CollectionViewSourceXaml

  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 に答える