我正在尝试使用HierarchicalDataTemplate将TreeView映射到集合。该集合包含一个对象,该对象包含其自身的子实体(多对多关系),然后使用常规的一对多关系向下延伸到另一个对象。我使用以下代码:
<HierarchicalDataTemplate DataType="{x:Type src:Organization}" ItemsSource="{Binding Path=ChildOrgs}" >
<StackPanel>
<TextBlock Text="{Binding Path=Name}"/>
</StackPanel>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type src:Organization}" ItemsSource="{Binding Path=Units}" >
<StackPanel>
<TextBlock Text="{Binding Path=Name}"/>
</StackPanel>
</HierarchicalDataTemplate>我正在使用'ChildOrgs‘集合从组织中检索’Organization‘孩子。这个可以完美地工作。我的问题是,我希望treeview继续深入到组织的“Unit”集合中。但是我得到了以下错误:“项目已经被添加...”在“组织”实体上...
任何想法都会有用,非常感谢,
发布于 2010-07-14 21:47:05
将第一个定义切换为:
<HierarchicalDataTemplate DataType="{x:Type src:Organization}"
ItemsSource="{Binding Path=ChildOrgs}"
ItemTemplate="{DynamicResource ChildOrgTemplate}">
<StackPanel>
<TextBlock Text="{Binding Path=Name}"/>
</StackPanel>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate x:Key="ChildOrgTemplate"
ItemsSource="{Binding Path=Units}">
<StackPanel>
<TextBlock Text="{Binding Path=Name}"/>
</StackPanel>
</HierarchicalDataTemplate>https://stackoverflow.com/questions/3246650
复制相似问题