2013-07-18 2 views
3

윈도우의 DataContext에 표시되는보기 모델이 있습니다.WPView에서 TreeView HierarchicalDataTemplate을 2 단계로 설정

public class SchoolViewModel:ViewModelBase 
{ 
     public ObservableCollection<SchoolClassGroup> ClassesCollection { get; set; } 
      ....    
} 


public class SchooleClassGroup:ViewModelBase 
{ 
    public string ClassName {get;set;} 
    public string TeacherName {get;set;} 
    public ObservableCollection<Students> StudentCollection{ get; set; } 

} 

public class Student 
{ 
    public string Name {get;set;} 
    public int Age {get;set;} 
    public DateTime BirthDate {get;set;} 
    ... 
} 

저는 학교, 학급 및 학생에게 보여줄 TreeView를 나타내고 싶습니다.

어떻게하면됩니까?

감사합니다.

답변

4

부모 - 자식 관계가있는 개체 트리의 각 수준과 리프 노드에 대한 간단한 DataTemplate에 대해 HeirarchicalDataTemplates를 만들어야합니다.

개체 트리 학교되어야한다 -> 클래스 -> 학생

클래스 학교는

List<Class> 

Class 클래스는

List<Student> 

그런 다음 그것을 간단 있음

<Window.Resources> 

     <HierarchicalDataTemplate ItemsSource="{Binding Classes}" DataType="{x:Type School}"> 
      <TextBlock Text="{Binding Name}" /> 
     </HierarchicalDataTemplate> 

     <HierarchicalDataTemplate ItemsSource="{Binding Students}" DataType="{x:Type Class}"> 
      <TextBlock Text="{Binding Name}" /> 
     </HierarchicalDataTemplate> 

     <DataTemplate DataType="{x:Type Student}"> 
      <TextBlock Text="{Binding Name}" /> 
     </DataTemplate > 

    </Window.Resources> 

    <Grid> 
     <TreeView ItemsSource="{Binding Schools}" > 
    </Grid> 
관련 문제