2010-08-04 110 views
3

如果我有一个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> 

回答

2

Neeeeever介意,只需在两个Setter s中替换Path=NamePath=Value[email protected]

2

替换这是你的绑定:

<Setter TargetName="tb" Property="Text" Value="{Binding Path=Attributes[Name].Value}" /> 

找到了答案在this question

+0

更改'名称'为'名称',并且工作,谢谢! – 2010-08-04 15:25:35

相关问题