0

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

请帮助我。

4

2 回答 2

0

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

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

最后,您需要将 TreeView.ItemSource 绑定到 XmlViewModels 的集合。也许是这样的:

<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

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

于 2012-10-12T14:45:24.603 回答
0

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

树视图 XML

我用了这个,它让我起床并很快。我最终对它进行了重大扩展,但这是一个很好的起点。

于 2012-10-15T15:45:47.200 回答