2011-12-07 79 views
0

我使用的是从实体框架创建一个类(在数据库分类表)如何使用树视图创建分层数据模板?

而且只包含三个字段:

  • 类别ID
  • 类别名称
  • ParentCategory

而且实体框架为我创建了两个导航:子类别和父类

当我在树形视图中加载集合时,它向我展示了一切,它应该只显示顶层。

我想我应该创建一个分层的数据模板,但我真的不知道如何创建它。

编辑:同类者这些情况: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> 
+0

我不小心整个标题 –

+0

对不起H.B.我没有得到你 – Darf

+0

它是[一个meme](http://knowyourmeme.com/memes/i-accidentally),但没关系。 –

回答

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> 
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>