2011-06-29 33 views
1

我想綁定的XMLDocument看起來像TreeView控件綁定到未知的深度XMLDocuent

<?xml version="1.0" encoding="utf-8"?> 
<root> 
    <topic id="INDEX"> 
    <title>Index</title> 
    <url>...</url> 
    <topic id="Result"> 
     <title>Result</title> 
    ... 

其中嵌套的深度是未知的。我如何將它綁定到WPF中的TreeView?

回答

0

看一看HierarchicalDataTemplates。這是通常與TreeView結合使用的。

我以前沒有在XML數據中使用過它們(您是否將XML加載到XDocument中?),但似乎將XMLDataProvider與HierarchicalDataTemplates一起使用的是way to go

0

我已經actualy破解它...線索被使用

<HierarchicalDataTemplate.ItemsSource> 
      <Binding XPath="child::node()[@id]" /> 
</HierarchicalDataTemplate.ItemsSource> 

過濾掉任何節點沒有ID屬性附加傷害,並像

<HierarchicalDataTemplate.Triggers> 
     <DataTrigger Binding="{Binding Path=NodeType}" Value="Element"> 
       <Setter TargetName="tb" Property="Text" Value="{Binding XPath=title}" /> 
     </DataTrigger> 
</HierarchicalDataTemplate.Triggers> 

觸發其中TB是一個簡單的文本框。