我无法理解在使用自定义对象时如何将数据绑定到WPF TreeView。我已经研究过并观看了教程,但我仍然陷入困境。
背景:考虑三个类(我简化了我的问题)。它们代表一个具有Table的数据库,每个表都可以有Fields。有一个表格列表。
1)TableList类 有财产
List<Table Objects>
2)表类:
使用TableFields属性
SortedDictionary <Name, Field Object>
3)田野类:
我当前尝试将字段(最低级别)绑定到Table.TableFields.Key
的示例<DataTemplate x:Key="fieldTemplate">
<TextBlock Text="{Binding Path=Table.TableFields.Key}"/>
</DataTemplate>
DESIRED OUTPUT - 表格列表的分层视图,包含表格及其字段。
Table 1
Field 1
Field 2
Field 3
Table 2
Field 1
Field 2
Field 3
Table N
Field N
我对如何绑定自定义对象以及访问这样的信息感到困惑。
答案 0 :(得分:1)
这将显示您的TreeView
<TreeView ItemsSource="{Binding TableList}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource = "{Binding Path=TableFields}">
<TextBlock Text="{Binding Path=Name}"/>
<HierarchicalDataTemplate.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Key}"/>
</DataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>