2011-12-23 51 views
1

我有一個建築師的問題:我應該採取什麼方法將數據綁定到TreeView?

我想使用樹形視圖顯示一些類別,並在每個類別,如果用戶點擊,需要顯示該類別的總產品。

我需要採取什麼方法?

目前,我正在嘗試: 1)從數據庫獲取數據並將其加載到DataTable,並從xaml訪問DataTable。 2)調用XAML的DataTable,並從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。您可以使用任何對象類型作爲綁定的後盾;它不需要需要成爲DataTable

你應該避免在你的代碼中構建出TreeViewItem。這根本就不是必需的,並且使得下游管理更加麻煩,那麼它需要。

正如ChristopherS所述;約什史密斯有一篇關於TreeView with MVVM的優秀文章。 Bea Stoliz在displaying grouped data in a TreeView上也有不錯的帖子。

相關問題