【发布时间】:2016-05-15 20:51:31
【问题描述】:
我有一个 Projects 集合,其中包含两个集合(其中任何一个都可以为空):
class Project {
public string Name { get; set; }
public int Priority { get; set; }
public List<Project> Projects { get; set; }
public List<Task> Tasks { get; set; }
}
我可以让嵌套项目显示:
<TreeView x:Name="ProjectsTree" >
<TreeViewItem Header="Projects"
ItemsSource="{Binding ProjectsCollection, Mode=TwoWay}"
IsExpanded="True" >
<TreeViewItem.Resources>
<HierarchicalDataTemplate DataType="{x:Type local:Project}" ItemsSource="{Binding Projects}">
<TextBlock Text="{Binding Name}"></TextBlock>
</HierarchicalDataTemplate>
</TreeViewItem.Resources>
</TreeViewItem>
如何为任务添加第二个模板?如果我添加:
<HierarchicalDataTemplate DataType="{x:Type local:Project}" ItemsSource="{Binding Tasks}">
<TextBlock Text="{Binding Name}"></TextBlock>
</HierarchicalDataTemplate>
我收到一条错误消息,指出资源字典中已经存在数据类型“Project”(或类似的)的条目。
所有帮助将不胜感激...
【问题讨论】:
-
这看起来很有希望 -- stackoverflow.com/questions/3673173/… -- 但我不知道如何让它在我的情况下工作。
标签: c# wpf treeview hierarchicaldatatemplate