Tuesday, April 5, 2011

Recursive HierarchicalDataTemplate (WPF)

I'm not sure how to approach this: I want a TreeView that will display some simple data from a hierarchical data structure. As a basic example (In XML, cause it's easy to type):

<Node text="Root">
    <Node text="Item 1">
        <Node text="Item 1.1" />
    </Node>
    <Node text="Item 2"/>
</Node>

The catch is that this could theoretically nest infinitely deep, so you can't statically define x number of levels and be done with it. Is there a way to define a HierarchicalDataTemplate that can account for this kind of structure?

From stackoverflow
  • HeirarchicalDataTemplate is used exactly to solve this kind of issue. You can just use a simple template like bellow to achieve this.

      <HierarchicalDataTemplate DataType="Node" ItemsSource ="{Binding XPath=*}">
            <TextBlock Text="{Binding XPath=@text}" />
        </HierarchicalDataTemplate>
    
    Toji : Sorry for the delay in marking this answered. Didn't have time to verify it until just now. Figures that it would be something uber simple :) Thanks!

0 comments:

Post a Comment