TreeView без RootNode в WPF - PullRequest
       24

TreeView без RootNode в WPF

0 голосов
/ 22 марта 2011

У меня есть HierarchicalDataTemplate, который является ItemSource моего TreeView.Когда TreeView отображает данные, он имеет корневой узел.Как удалить корневой узел?

HierarchicalDataTemplate:

<Window.Resources>

    <HierarchicalDataTemplate DataType="cards" ItemsSource="{Binding XPath=child::node()}">
        <TextBlock Text="Root"/>
    </HierarchicalDataTemplate>

    <HierarchicalDataTemplate DataType="category" ItemsSource="{Binding XPath=child::node()}">
        <TextBlock Text="{Binding XPath=@name}" />
    </HierarchicalDataTemplate>

    <HierarchicalDataTemplate DataType="card">
        <TextBlock Text="{Binding XPath=./title}" />
    </HierarchicalDataTemplate>

    <XmlDataProvider x:Key="dataxml" XPath="root/cards" />

</Window.Resources>

TreeView:

<TreeView Name="treeViewCategory" ItemsSource="{Binding Source={StaticResource dataxml}, XPath=.}"/>

XML:

<root>
  <cards>
    <category name="Categoryname">
      <card>
        <title>something</title>
        ...
        .
      </card>
      <category name="SubCategory">
        <card>
          <title>something else</title>
          ..
          ...
        </card>
      </category>
    </category>
    <card>
      <title>text</title>
      ...
      ..
    </card>
  </cards>
</root>

фактическое представление:

o Root
    o Categoryname
        - something
        o SubCategory
            - something else
    - text

в порядке:

o Categoryname
    - something
    o SubCategory
        - something else
- text

Ответы [ 2 ]

4 голосов
/ 22 марта 2011

Просто сделайте еще один шаг глубже, когда вы назначите ItemsSource самого TreeView, чтобы дочерние элементы вашего корня стали элементами для древовидного представления.

0 голосов
/ 22 марта 2011

thx H.B. отлично работает с:

<TreeView Name="treeViewCategory" ItemsSource="{Binding Source={StaticResource dataxml}, XPath=./*}" />

Я всегда пытался изменить источник XmlDataProvider. не представляю, что я должен изменить путь в TreeView: - (

почему это важно?

...