CollectionViewSource의 그룹을 사용하여 세부 정보 모음의 가상 "집계"보기를 표시합니다. 기본적으로 샘플이 여기에 본 : ListBox Grouping, Sorting, Subtotals and Collapsible RegionsIValueConverter에 의해 생성 된 속성에서 CollectionView의 그룹 정렬
이 예제의 관련 부분을 요약하면, 당신의 그룹 그렇게처럼 ValueConverter를 통해 자신의 세부 사항에서 집계 속성을 노출 할 수 있습니다 :
<ListBox.GroupStyle>
<GroupStyle>
<GroupStyle.ContainerStyle>
<Style TargetType="{x:Type GroupItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupItem}">
<Grid>
<!--[..Snip..]-->
<TextBlock Grid.Column="4"
Text="{Binding StringFormat=\{0:C\},
Converter={StaticResource groupItemSalesSubtotalConverter}}"
TextAlignment="Right" />
<!--[..Snip..]-->
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</GroupStyle.ContainerStyle>
</GroupStyle>
</ListBox.GroupStyle>
참고 TextBlock의 위입니다 GroupItem의 바인딩에 직접 바인딩되므로 컨버터는 전체 CollectionViewGroup
과 그 하위를 수신하고 세부 정보로 드릴 다운하여 그룹의 항목 합계를 합계 할 수 있습니다.
이 값은 그 자체가 속성이 아니기 때문에 문제는, 소계로 그룹을 정렬 할 수 있습니까?
이것은 분명히 SortDescription
으로 처리 할 수 없습니다. ListCollectionView의 CustomSort
속성 (이 경우 구현은 can be used 임)을 보았지만 어떻게 표시되지 않습니까? Compare()
메서드는 그룹화에 관계없이 세부 항목 쌍을받으며 부분합을 결정할 수 없습니다. 그 시점에서.
이 그룹을 고유 한 권한으로 만들지 않고도 (즉, 요약 수준에서는 CollectionView를, 세부 수준에서는 다른 CollectionView를 사용하지 않고) 정렬 할 수 있습니까?