在WPF中将XML列表绑定到Treeview

时间:2012-10-11 17:02:48

标签: wpf xml-parsing treeview

我有XML列表,我想在树视图中显示它,父节点将是XML文件名,子节点将是XML节点数据及其属性。 我正在寻找通用解决方案,以便我可以从文件系统加载任何xml。 我如何使用HierarchicalDataTemplate和XmlDataProvider

请帮助我。

2 个答案:

答案 0 :(得分:0)

您需要实现自己的XmlViewModel类。此类必须具有属性Header,Attributes和Children,以及通用XML文件应具有的任何其他内容。如果您希望此类需要能够解析XML文本。然后,您必须在TreeView中创建一个表示此类的HierarchicalDataTemplate。有点像这样:

<HierarchicalDataTemplate 
      DataType="{x:Type local:XmlViewModel }" 
      ItemsSource="{Binding Children}"
      >
...

最后,您需要将TreeView.ItemSource绑定到XmlViewModel的Collection。 也许是这样的事情:

<TreeView ItemsSource="{Binding YourRoot.Children}">
...

另见这两个链接,对您有所帮助:

http://www.codeproject.com/Articles/17025/Custom-TreeView-Layout-in-WPF

http://www.codeproject.com/Articles/26288/Simplifying-the-WPF-TreeView-by-Using-the-ViewMode

希望这可以帮助您解决问题...

答案 1 :(得分:0)

这是另一个代码项目链接:

TreeView XML

我用过这个,它让我起得很快。我最终扩大了它,但这是一个很好的起点。