【发布时间】:2014-01-01 08:32:00
【问题描述】:
我有收藏
Dictionary<string, List<Manager>> Stuff;
Manager 是具有一些属性的类。 我想像这样将此字典绑定到 TreeView 或 ListView:
键作为标题,然后将经理列表作为子项。例如:
- 导演(字典中的关键)
- John(它的属性 Manager.Name)
- 史蒂夫
- 所有者
- 杰克
我尝试过这样的事情:
<TreeView ItemsSource="{Binding Stuff}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate>
<TextBlock Foreground="Red" Text="{Binding Key}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
它显示了标题,但我不知道如何进一步说明。 或者改变集合并以其他方式绑定它会更好。
编辑
这本词典让我的工作变得不必要地复杂。我创建了一个类 Stuff,其属性为 string Name; 和 List<Managers> Managers;。
在主类中使用它作为ObservableCollection<Stuff> Stuff;,它适用于这个XAML:
<TreeView ItemsSource="{Binding Stuff}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Managers}">
<TextBlock Foreground="Red" Text="{Binding Name}" />
<HierarchicalDataTemplate.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
所以在这种情况下使用字典并不是最好的。
【问题讨论】: