2012-10-11 60 views
0

我有XML列表,我想在樹視圖中顯示它,父節點將是XML文件名,子節點將XML節點數據及其屬性。 我尋找通用的解決方案,以便我可以從文件系統加載任何xml的任何。 我如何使用HierarchicalDataTemplate和XmlDataProvider在WPF中綁定TreeView的XML列表

請幫助我。

+0

你能舉一個例子說明XML是怎麼樣的?無論如何,您可以使用LinQ從XML文件中檢索數據。 – Abbas

回答

0

您需要實現自己的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

希望這有助於你解決這個問題..

0

這是另一個codeproject鏈接:

TreeView XML

我用這一個,它讓我很快就走了。我最終大幅擴展了它,但這是一個很好的起點。