2016-07-08 14 views
1

Gibt es eine Möglichkeit, dies deutlicher zu machen (automatisch in ObservableCollection)? Wenn ich mehr "Kinder" hätte, wird es nervig.Verschachtelt HierarchicalDataTmeplate - Improvment

In meiner Klasse habe ich Sammlung:

public ObservableCollection ObservableChildNodes {get; einstellen; }

<HierarchicalDataTemplate x:Key="ChildChildChildChildNodeTemplate"> 
     <TextBlock Text="{Binding DisplayName}" /> 
</HierarchicalDataTemplate> 
<HierarchicalDataTemplate x:Key="ChildChildChildNodeTemplate" ItemsSource="{Binding Path=ObservableChildNodes}" ItemTemplate="{StaticResource ChildChildChildChildNodeTemplate}"> 
     <TextBlock Text="{Binding DisplayName}" /> 
</HierarchicalDataTemplate> 
<HierarchicalDataTemplate x:Key="ChildChildNodeTemplate" ItemsSource="{Binding Path=ObservableChildNodes}" ItemTemplate="{StaticResource ChildChildChildNodeTemplate}"> 
     <TextBlock Text="{Binding DisplayName}" /> 
</HierarchicalDataTemplate> 
<HierarchicalDataTemplate x:Key="ChildNodeTemplate" ItemsSource="{Binding Path=ObservableChildNodes}" ItemTemplate="{StaticResource ChildChildNodeTemplate}"> 
     <TextBlock Text="{Binding DisplayName}" /> 
</HierarchicalDataTemplate> 
<HierarchicalDataTemplate x:Key="RootNodeTemplate" ItemsSource="{Binding Path=ObservableChildNodes}" ItemTemplate="{StaticResource ChildNodeTemplate}"> 
     <TextBlock Text="{Binding DisplayName}" FontWeight="Bold" /> 
</HierarchicalDataTemplate> 

Antwort

2

ja, entfernen Sie einfach die ItemTemplate="{StaticResource ChildChildNodeTemplate}"

Sie nur die erste und die zweite Schicht benötigen, wenn Sie die erste Schicht unterschiedlich angezeigt werden soll.

<HierarchicalDataTemplate x:Key="ChildNodeTemplate" ItemsSource="{Binding Path=ObservableChildNodes}"> 
     <TextBlock Text="{Binding DisplayName}" /> 
</HierarchicalDataTemplate> 
<HierarchicalDataTemplate x:Key="RootNodeTemplate" ItemsSource="{Binding Path=ObservableChildNodes}" ItemTemplate="{StaticResource ChildNodeTemplate}"> 
     <TextBlock Text="{Binding DisplayName}" FontWeight="Bold" /> 
</HierarchicalDataTemplate> 
+0

Yeap, richtig arbeiten, danke. –