TreeView 不显示二级儿童
TreeView not showing second level children
XAML 是这样的:
<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>
Projects 是我的 ViewModel 上的一个 属性,它来自这个 class:
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
模板没有在任何地方呈现。建议?
而不是在 ProjectSteps 中设置 ProjectsOverview 中的 ItemsSource
<HierarchicalDataTemplate x:Key="ProjectsOverview" ItemsSource="{Binding Steps}"
XAML 是这样的:
<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>
Projects 是我的 ViewModel 上的一个 属性,它来自这个 class:
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
模板没有在任何地方呈现。建议?
而不是在 ProjectSteps 中设置 ProjectsOverview 中的 ItemsSource
<HierarchicalDataTemplate x:Key="ProjectsOverview" ItemsSource="{Binding Steps}"