我有收集绑定词典<字符串,列表<Class>>到TreeView控件
Dictionary<string, List<Manager>> Stuff;
管理器类的一些属性。 我想将此字典绑定到TreeView或ListView,如下所示:
作为标题的关键字,然后是管理员列表作为子项。例如:
- 主任(从字典中它的键)
- 约翰(它的属性Manager.Name)
- 史蒂夫
- 所有者
- 杰克
我想是这样的:
<TreeView ItemsSource="{Binding Stuff}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate>
<TextBlock Foreground="Red" Text="{Binding Key}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
这表明我的标题,但我不知道如何进一步做到这一点。 或者,也许最好更改集合并以其他方式进行绑定。
编辑
我不必要地复杂这本词典的工作。我创建了属性为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>
所以是使用Dictionairy是不是最好在这种情况下。
它不工作,这也说明我只是个按键,无需值,但NVM。我编辑了我的帖子。 – Powderek