Hoe kan ik een hiërarchische gegevenssjabloon maken met behulp van de structuurweergave?

Ik gebruik een klasse die is gemaakt op basis van entiteitskaders (categorietabel in database)

En bevat slechts drie velden:

  • CategoryID
  • CategoryName
  • ParentCategory

En entiteitsraamwerk heeft me twee navigatiesystemen gemaakt: subcategorieën en bovenliggende

En wanneer ik de verzameling in een boomstructuur laad, laat het me alles zien, waar het alleen de hoogste niveaus zou moeten tonen.

Ik denk dat ik een hiërarchische datasjabloon moet maken, maar ik heb echt geen idee over het maken ervan.

EDIT: It similars these case: Entity Framework - Binding wpf Tree view control

Mijn besturingselement XAML bevat:

<treeView x:Name="objectiveTree" ItemsSource="{Binding Objectives}">
    <treeView.ItemTemplate>
        
            
    

0
Ik heb per ongeluk de hele titel
toegevoegd de auteur H.B., de bron
Het is een meme , maar laat maar.
toegevoegd de auteur H.B., de bron
Werkt de sjabloon niet? Het ziet er goed uit, of blijft je enige probleem dat alle elementen in de hoofdlijst staan?
toegevoegd de auteur H.B., de bron
@Darf, ik denk dat je probleem hier was dat je je TreeView ItemsSource niet hebt gekoppeld aan een verzameling die alleen de 'bovenste' bovenliggende items heeft. Zie dit antwoord voor een voorbeeld van hoe u alleen de ouders op het hoogste niveau kunt verzamelen. Je navigatie vanaf die ouders die zich verbinden aan eigenschappen van entiteitennavigatie ziet er goed uit. Ik hoop dat je het uiteindelijk hebt gekregen.
toegevoegd de auteur Rachael, de bron
Sorry H.B. Ik snap je niet
toegevoegd de auteur Darf, de bron
H.B. Controleer het laatste bericht
toegevoegd de auteur Darf, de bron

2 antwoord

   <treeView ItemsSource="{Binding YourItems}"  ItemContainerStyle="
    {StaticResource Level1}">
   <treeView.ItemTemplate>
   
           
   
   

    

0
toegevoegd

Je kunt zoiets proberen:

Code achter:

objectiveTree.ItemsSource = (List) _entities;

XAML:

<treeView x:Name="objectiveTree">
      <treeView.ItemTemplate>
            
                
                
                    
                        
                    
                                        
            
      

0
toegevoegd