WPF,在TreeView中显示属性值而不是节点名称
问题描述:
如果我有一个TreeView
的以下数据模板,需要更改哪些内容以便每个TreeViewItem
显示每个XML节点上name
属性的值,而不是节点名称?WPF,在TreeView中显示属性值而不是节点名称
<HierarchicalDataTemplate x:Key="NodeTemplate">
<TextBlock x:Name="tb"/>
<HierarchicalDataTemplate.ItemsSource>
<Binding XPath="child::node()" />
</HierarchicalDataTemplate.ItemsSource>
<HierarchicalDataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=NodeType}" Value="Text">
<Setter TargetName="tb" Property="Text" Value="{Binding Path=Value}"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=NodeType}" Value="Element">
<Setter TargetName="tb" Property="Text" Value="{Binding Path=Name}"/>
</DataTrigger>
</HierarchicalDataTemplate.Triggers>
</HierarchicalDataTemplate>
答
替换这是你的绑定:
<Setter TargetName="tb" Property="Text" Value="{Binding Path=Attributes[Name].Value}" />
找到了答案在this question。
更改'名称'为'名称',并且工作,谢谢! – 2010-08-04 15:25:35