2010-08-04 2 views
3

Если у меня есть следующий шаблон данных для TreeView, что мне нужно изменить, чтобы каждый TreeViewItem показывал значение атрибута name на каждом узле XML, вместо имя узла?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

Небесный разум, только что пришлось заменить Path=Name и Path=Value с [email protected] на двух Setter s.

2

Замените ваш связывании с этим:

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

Найден ответ на this question.

+0

Изменено 'Name' на' name', и это работает, спасибо! –

Смежные вопросы