我正在尝试绑定一个看起来像
的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?
答案 0 :(得分:0)
看看HierarchicalDataTemplates。这是与TreeView结合使用的常用内容。
之前我没有将它们用于XML数据(您是否将XML加载到XDocument中?),但似乎XMLDataProvider与HierarchicalDataTemplates一起使用way to go。
答案 1 :(得分:0)
我实际上已经破解了......线索是使用
<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是一个简单的文本框。