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