<Parent id="parent">
<ChildType1 id="SingleChild"/>
<ChildType2>
<ChildOfchild id="ChildChild1"/>
<ChildOfChild id="ChildChild2"/>
</ChildType2>
</Parent>
我希望在WPF TreeView中显示上述XML,其方式是ChildType1和ChildType2都显示在同一“级别”上,而ChildType2将是可扩展的。我正在使用带有HierarchicalDataTemplates的XmlDataProvider。
编辑。 我目前这是我正在使用的代码:
<!-- Template for Child2 -->
<HierarchicalDataTemplate x:Key="child2_hdt">
<TextBlock Text="{Binding XPath=@id, StringFormat={}ChildChild: {0}}"/>
</HierarchicalDataTemplate>
<!-- Template for Child1 -> Child2 -->
<HierarchicalDataTemplate x:Key="child1_hdt"
ItemTemplate="{StaticResource child2_hdt}"
ItemsSource="{Binding}">
<TextBlock Text="{Binding XPath=@id, StringFormat={}Child1: {0}}"/>
</HierarchicalDataTemplate>
<!-- Template for Parent-->
<HierarchicalDataTemplate x:Key="parent_hdt"
ItemTemplate="{StaticResource child1_hdt}"
ItemsSource="{Binding}">
<TextBlock Text="{Binding XPath=@id}"/>
</HierarchicalDataTemplate>
这非常有效,除了在树视图中的Child1下面有一个可扩展的空白空间。
答案 0 :(得分:0)
我的问题的解决方案是:
<TextBlock Text="{Binding Name}"/>
的Insead
<TextBlock Text="{Binding XPath=@id, StringFormat={}Child1: {0}}"/>