2011-12-23 4 views
1

건축가 질문이 있습니다.TreeView에 데이터를 바인딩하는 방법은 무엇입니까?

일부 카테고리를 표시하려면 트리보기를 사용하고 사용자가 클릭하면 각 카테고리에 해당 카테고리의 전체 제품을 표시해야합니다.

어떤 접근 방식을 취해야합니까?

현재 다음을 시도하고 있습니다. 1) 데이터베이스에서 데이터 가져 오기 및 가져 오기를 DataTable로 가져오고 DataTable을 xaml에서 액세스 할 수 있습니다. 2) ... XAML에서 DataTable을 호출하고 데이터 테이블 열에서 TreeViewItem 바인딩 즉., 나도 몰라

<TreeView ItemsSource="{Binding ElementName=_this, Path=SubCategoriesTable}" Name="trSubCategories"> 
<TreeView.ItemTemplate> 
    <DataTemplate> 
     <TreeViewItem Header="Home"> 
      <TreeViewItem Header="{Binding Path=sub_category_name}"></TreeViewItem> 
     </TreeViewItem> 
    </DataTemplate> 
</TreeView.ItemTemplate> 

그것은 갈 수있는 올바른 접근 방식인가? 또는 각 데이터 테이블 행과 열을 루핑하여 내 코드에 TreeViewItem을 추가해야합니까?

도와주세요!

답변

1

HierarchicalDataTemplate을 사용하고 그에 따라 TreeView을 바인딩하십시오. 모든 오브젝트 유형을 바인딩의 배경으로 사용할 수 있습니다. 은 이어야합니다.이 필요하지 않습니다.

코드 뒤에서 TreeViewItem을 빌드하면 안됩니다. 단순히 필요 없으며 스트림 관리를 더 복잡하게 만들 필요가 있습니다.

ChristopherS; 조쉬 스미스 (Josh Smith)는 TreeView with MVVM에 관한 훌륭한 기사를 갖고 있습니다. Bea Stoliz도 displaying grouped data in a TreeView에 좋은 소식을 전합니다.

관련 문제