C# 将TreeView绑定到深度未知的xmldocument
我正在尝试绑定一个如下所示的XMLDocumentC# 将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>
<?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是一个简单的文本框