2015-08-27 8 views
0

XAML выглядит следующим образом:TreeView не показывает детям второго уровня

<UserControl.Resources> 
    <!-- templates --> 
    <HierarchicalDataTemplate x:Key="ProjectSteps" ItemsSource="{Binding Steps}"> 
     <TextBlock Text="{Binding Name}" /> 
    </HierarchicalDataTemplate> 

    <HierarchicalDataTemplate x:Key="ProjectsOverview" ItemTemplate="{StaticResource ProjectSteps}"> 
     <TextBlock Text="{Binding Name}" /> 
    </HierarchicalDataTemplate> 
</UserControl.Resources> 

<TreeView HorizontalAlignment="Stretch" ItemsSource="{Binding Projects, UpdateSourceTrigger=PropertyChanged}" ItemTemplate="{StaticResource ProjectsOverview}"> 
</TreeView> 

Проекты является собственностью на мой ViewModel, и это происходит из этого класса:

public class ProjectsRepository : IProjectsRepository { 
    public IEnumerable<Project> GetProjects() { 
     return new List<Project> { 
      new Project { 
       Name = "Proj1", 
       Steps = new List<Step> { 
        new Step { Name = "Step1" }, 
        new Step { Name = "Step2" }, 
        new Step { Name = "Step3" } 
       } 
      }, 
      new Project { 
       Name = "Proj2", 
       Steps = new List<Step> { 
        new Step { Name = "OtherStep1" }, 
        new Step { Name = "OtherStep2" }, 
        new Step { Name = "OtherStep3" }, 
        new Step { Name = "OtherStep4" } 
       } 
      } }; 
    } 
} 

элементов первого уровня (proj1, proj2), но элементы второго уровня (так что каждый шаг или другой шаг) не являются. Я даже не вижу индикатор выпадающего списка рядом с именем проекта, поэтому кажется, что второй шаблон ProjectSteps не отображается нигде. Предложения?

ответ

0

Вместо в ProjectSteps установить ItemsSource в ProjectsOverview

<HierarchicalDataTemplate x:Key="ProjectsOverview" ItemsSource="{Binding Steps}" 
Смежные вопросы