0

我正在使用从实体框架创建的类(数据库中的类别表)

并且只包含三个字段:

  • 类别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>
4

2 回答 2

0

你可以尝试这样的事情:

代码隐藏:

objectiveTree.ItemsSource = (List<YourMainEntity>) _entities;

XAML:

<TreeView x:Name="objectiveTree">
      <TreeView.ItemTemplate>
            <HierarchicalDataTemplate ItemsSource="{Binding Subcategories}">
                <TextBlock Text="{Binding ParentCategory}" />
                <HierarchicalDataTemplate.ItemTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding CategoryName}"/>
                    </DataTemplate>
                </HierarchicalDataTemplate.ItemTemplate>                        
            </HierarchicalDataTemplate>
      </TreeView.ItemTemplate>
</TreeView>
于 2011-12-07T11:54:57.103 回答
0
   <TreeView ItemsSource="{Binding YourItems}"  ItemContainerStyle="
    {StaticResource Level1}">
   <TreeView.ItemTemplate>
   <HierarchicalDataTemplate ItemsSource="{Binding Children}"  
   ItemContainerStyle="{StaticResource Level3}">
   <TextBlock Text="{Binding Name}" />        
   </HierarchicalDataTemplate>
   </TreeView.ItemTemplate>

    </TreeView>

于 2017-06-30T07:10:18.437 回答