2011-03-22 10 views
0

私はTreeViewのItemSourceであるHierarchicalDataTemplateを持っています。 TreeViewがデータを表示するとき、彼はルートノードを持っています。ルートノードを削除するにはどうすればよいですか?WPFでRootNodeのない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 [email protected]}" /> 
    </HierarchicalDataTemplate> 

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

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

</Window.Resources> 

ツリービュー:

<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 

答えて

4

ルートの子供は、ツリービューの項目になるように、ツリービュー自体ののItemsSourceを割り当てるときだけ一歩深く進みます。

0

thx H.B.

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

私はいつもXmlDataProviderのソースを変更しようとしています。 haven't私は

それは問題ではない理由

?私はXmlDataProvidersで何もしていないか、XPathはこれまでのところ、私はコードを提供することができませんでした!

+0

グレート、良い:-(ツリービューでパスを変更する必要があることを想像します私があなた自身を言ったものを適用することを管理するのを見るために:編集:あなたの追加された質問について、私は残念、それは奇妙ではないことを知らない –

関連する問題