我有一个建筑师问题:
我想使用树状视图显示某些类别,如果用户点击,则需要显示每个类别,需要显示该类别的总产品。
我需要采取什么方法?
目前,我正在尝试: 1)从数据库获取数据并将其加载到DataTable,并且可以从xaml访问DataTable。 2)从xaml调用DataTable并从dataTable Column绑定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吗?
请帮忙!
答案 0 :(得分:1)
使用HierarchicalDataTemplate并相应地绑定您的TreeView
。您可以使用任何对象类型作为绑定的支持;它 不是DataTable
。
您应该避免在代码中构建TreeViewItem
。它根本不需要,并使下游管理更加繁琐,然后才需要。
ChristopherS指出;约什史密斯有一篇关于TreeView with MVVM的精彩文章。 Bea Stoliz在displaying grouped data in a TreeView上发表了一篇不错的帖子。
答案 1 :(得分:0)
这可能是到目前为止您可以找到的有关此主题的最佳教程:http://www.codeproject.com/KB/WPF/TreeViewWithViewModel.aspx