2013-02-21 1 views
1

CollectionViewSource을 정렬하고 싶지만 PropertyName 대신 조건을 설정해야합니다. 사실 XamlCollectionViewSource을 사용하여 아래 정렬을 수행하고 싶습니다.CollectionViewSource를 정렬하는 동안 SortDescription에서 PropertyName 대신 조건을 설정하는 방법?

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

@ Florian Gl : 이미 위의 예제를 보았습니다 :'Class2Colection.OrderBy (s => s.Id) .OrderBy (s =>! s.Id.HasValue));' –

답변

0

는 사용자 정의 자신의 IComparer을 구현하고 ListCollectionView 클래스의 공공 CustomSort 속성에 설정하여 논리를 정렬 적용 할 수 있습니다. 그러나 이것은 귀하의 질문에 대한 완전한 대답이 아니라 앞으로 나아갈 수있는 방향입니다. 당신이 달성 할 수

가장 간단한 방법은 xaml

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

!Id.HasValue 및 종류 그것에 의해를 반환 whould 데이터 클래스의 또 다른 속성을 노출하는 것입니다.

+0

@Woodman : 정말 고마워요. 내가 뭘 찾고있는 건 아니지만이 사건에서 일하는거야. –

+0

당신은 오신 것을 환영합니다. 솔루션으로 내 대답을 표시해 주시기 바랍니다;) – Woodman

+0

@Woodman : 물론 이죠,하지만 지금은 다른 해결책을 기다리고 있습니다. –