C# 将TreeView绑定到深度未知的xmldocument

C# 将TreeView绑定到深度未知的xmldocument,c#,wpf,xml,xaml,C#,Wpf,Xml,Xaml,我正在尝试绑定一个如下所示的XMLDocument <?xml version="1.0" encoding="utf-8"?> <root> <topic id="INDEX"> <title>Index</title> <url>...</url> <topic id="Result"> <title>Result</title>

我正在尝试绑定一个如下所示的XMLDocument

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

指数
...
后果
...
其中嵌套的深度未知。如何将其绑定到WPF中的TreeView

看一看。这是通常与树视图结合使用的


我以前没有将它们用于XML数据(您是否将XML加载到XDocument?),但似乎将其与HierarchicalDataTemplates一起使用是最有效的方法。

我实际上已经破解了它。。。线索是要用的

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

它可以过滤掉任何没有id的节点,比如atribute和触发器

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

其中tb是一个简单的文本框