【发布时间】:2017-06-30 15:10:18
【问题描述】:
我正在使用从实体框架创建的类(数据库中的类别表)
并且只包含三个字段:
- 类别 ID
- 类别名称
- 父类
而实体框架为我创建了两个导航:子类别和父类
当我在树视图中加载集合时,它会显示所有内容,而它应该只显示顶层。
我想我应该创建一个分层数据模板,但我真的不知道如何创建它。
编辑:它类似于这些情况:Entity Framework - Binding WPF Tree view control
我的控制 XAML 包含:
<TreeView x:Name="objectiveTree" ItemsSource="{Binding Objectives}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Subcategories}">
<TextBlock Text="{Binding Path=CategoryName}"
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
【问题讨论】:
-
我不小心把整个标题都写完了
-
是a meme,不过没关系。
-
H.B.请查看最后一条消息
-
模板不起作用吗?它看起来不错,还是您唯一的问题是所有元素都在根列表中?
-
@Darf,我认为您的问题是您没有将 TreeView ItemsSource 绑定到仅具有“最顶层”父项的集合。请参阅this answer 以获取有关如何仅收集顶级父母的示例。您从绑定到实体导航属性的父级向下导航看起来不错。希望你最终得到它。
标签: c# wpf treeview hierarchical-data hierarchicaldatatemplate