2009-08-13 4 views
1

필자는 두 가지 레벨의 항목 (주요 항목과 하위 항목)을 가진 매우 평면 구조의 트리보기를 사용합니다. WPF MVVM을 사용하고 있는데 두 가지 스타일을 다르게 스타일링하는 방법을 원합니다.WPF 트리 뷰의 다른 레벨 스타일 지정 방법이 다릅니 까?

나는 내 ViewModel의 ObservableCollection에 트리 뷰를 바인딩하고 각 요소에는 다음 레벨을위한 ObservableCollection이 하나 더 있습니다.

어떤 도움이 필요합니까?

답변

7

DATABINDING 및 DATATEMPLATES를 사용하여 수행 할 수 있습니다.

두 개의 DataTemplates를 디자인 할 것입니다. 계층 적 DataTemplate을하고

그런 다음

자세한 내용은 여기를 찾을 수있는 일반의 DataTemplate에 HierarchicalDataTemplate의 ItemTemplate을 설정 (만 2 개 수준을 사용하기 때문에이가) 당신의 낮은 수준의 표준 버전과 다른 등 1 : 위의 사이트에서 http://msdn.microsoft.com/en-us/magazine/cc700358.aspx

코드는 :

<!-- ORDER DETAIL TEMPLATE --> 
    <DataTemplate x:Key="OrderDetailTemplate"> 
     <TextBlock> 
     <Run>Product:</Run> 
     <TextBlock Text="{Binding Path=Product}" /> 
     <Run>(</Run> 
     <TextBlock Text="{Binding Path=Quantity}" /> 
     <Run>)</Run> 
     </TextBlock> 
    </DataTemplate> 

    <!-- ORDER TEMPLATE --> 
    <HierarchicalDataTemplate 
     x:Key="OrderTemplate" 
     ItemsSource="{Binding Path=OrderDetails}" 
     ItemTemplate="{StaticResource OrderDetailTemplate}" 
     > 
     <TextBlock Text="{Binding Path=Desc}" /> 
    </HierarchicalDataTemplate> 
+0

이 대답은 똑같은 질문에서 저를 구 했어요. – IbrarMumtaz

관련 문제