2011-02-22 6 views
0

나는 다음과 같은 형식의 데이터를 제시, WPF를 사용하여 싶습니다WPF - 사용자 정의 데이터 프리젠 테이션

이미지 : 즉 http://i.stack.imgur.com/54CkI.png

- 월별로 그룹화 된 데이터입니다. 각 달의 머리말 행, 세부 사항 및 요약 행. 여러 열이있는 단순한 테이블 형식의 세부 정보입니다. 내가 CollectionViewSource.GroupDescriptions를 사용하여 데이터를 그룹화하려고 할 때

또한

는 - 그것은 매우 느렸다.

그래서 나는 뷰 모델의 그룹 데이터에 의도와 같은 클래스의 개체의 컬렉션으로 그들을 반환 :

public class Group 
{ 
    string Month; 
    IEnumerable<GroupItem> Details; 
    string Summary; 
} 

열이없는 정렬 될 수 있지만 폭을 변경하는 것이 가능해야 전체 그룹의 전체 열 수 나는 "게임"이 colspan과 rowspan으로 일종의 저글링을 시작할 것이라고 생각합니다. 템플릿을 정의하는 방법을 사용하는 제어 무엇을 -

는 WPF에서 이러한 데이터를 제시하는 가장 좋은 방법은 무엇입니까. 나는 창에서 DevExpress의에서 PivotGrid을 사용했다

답변

0

응용 프로그램을 형성하고이 절경입니다. Silverlight 및 WPF 용 PivotGrid 컨트롤도 있다고 생각합니다. 해당 웹 사이트를 확인할 수 있습니다. 나는 표준 컨트롤을 사용하여 모든 기능을 모방하려고하지 않을

, 당신은 너무 많은 코드로 끝날 것이다 아직도 평범한 결과는 더 견고하고 특별 개발 된 구성 요소에 비교했다.

P. 이것은 스팸이 아닙니다. DevExpress 방향을 원하지 않는다면 다른 많은 공급 업체가 있습니다. 나는 단순히 내가 알고있는 것과 내가 알고있는 것을 유효하고 타당하다고 제안합니다.

0

당신은 목록보기 사용하고 ItemTemplet를 만들 수 있습니다.

다음은 기본 뼈대입니다. 약간의 너비를 설정하고 올바른 결과를 얻으려면 테두리를 추가해야 할 수도 있습니다. 또한 세부 정보를 표시하는 ListView에 대한 ItemTemplate을 만들어야합니다.

<ListView ItemsSource="{Binding TheData}"> 
     <ListView.ItemTemplate> 
      <DataTemplate> 
       <Grid> 
        <StackPanel Orientation="Horizontal"> 
         <TextBlock Text="{Binding Month}" /> 
         <StackPanel> 
          <ListView ItemsSource="{Binding Details}" /> 
          <TextBlock Text="{Binding Summary}" /> 
         </StackPanel> 
        </StackPanel> 
       </Grid> 
      </DataTemplate> 
     </ListView.ItemTemplate> 
    </ListView> 
관련 문제