我有XML列表,我想在树视图中显示它,父节点将是XML文件名,子节点将XML节点数据及其属性。 我寻找通用的解决方案,以便我可以从文件系统加载任何xml的任何。 我如何使用HierarchicalDataTemplate和XmlDataProvider在WPF中绑定TreeView的XML列表
请帮助我。
我有XML列表,我想在树视图中显示它,父节点将是XML文件名,子节点将XML节点数据及其属性。 我寻找通用的解决方案,以便我可以从文件系统加载任何xml的任何。 我如何使用HierarchicalDataTemplate和XmlDataProvider在WPF中绑定TreeView的XML列表
请帮助我。
您需要实现自己的XmlViewModel类。这个类必须有一个属性Header,Attributes和Children,以及一般XML文件应该具有的其他东西。如果你想让这个类需要能够解析你的XML文本。然后你必须在TreeView中创建一个代表这个类的HierarchicalDataTemplate。有些事情是这样的:
<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
希望这有助于你解决这个问题..
你能举一个例子说明XML是怎么样的?无论如何,您可以使用LinQ从XML文件中检索数据。 – Abbas