Рекурсивный HierarchicalDataTemplate (WPF) - PullRequest
5 голосов
/ 22 ноября 2008

Я не уверен, как подойти к этому: я хочу TreeView, который будет отображать некоторые простые данные из иерархической структуры данных. В качестве базового примера (в XML это легко набрать):

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

Загвоздка в том, что теоретически это может быть гнездо бесконечно глубоко, поэтому вы не можете статически определить x количество уровней и покончить с этим. Есть ли способ определить HierarchicalDataTemplate, который может учитывать такую ​​структуру?

1 Ответ

11 голосов
/ 22 ноября 2008

HeirarchicalDataTemplate используется именно для решения этой проблемы. Вы можете просто использовать простой шаблон, как показано ниже, чтобы добиться этого.

  <HierarchicalDataTemplate DataType="Node" ItemsSource ="{Binding XPath=*}">
        <TextBlock Text="{Binding XPath=@text}" />
    </HierarchicalDataTemplate>
...