我想要一個帶有複選框的TreeView
,我正在嘗試關注this tutorial。但是,他在運行時爲TreeView
創建了所有內容。我有我在我的XAML的XmlDataProvider
訪問的XML文件:WPF,從C#中的XmlDataProvider讀取數據#
<XmlDataProvider Source="XmlData/Versions.xml" XPath="//*[count(*)=0]"
x:Key="versionsXml" />
我有IsChecked
和Name
性能視圖模型類,我想用這個來表示我的XML節點:
<Versions>
<Version name="1.0">
<Version name="1.0.001" />
<Version name="1.0.002" />
</Version>
</Versions>
我的TreeView
將顯示帶有複選框的葉節點(即1.0.001和1.0.002)。如何直接填寫我的TreeView
而不是XmlDataProvider
的內容,而是使用List<MyViewModel>
?我可以在我的DataContext
中創建一個屬性,該屬性返回List<MyViewModel>
,然後將我的TreeView
綁定到該屬性,但我不知道如何在C#屬性獲取器中讀取XmlDataProvider
中的XML數據。當我使用TryFindResource
並將object
結果投射到XmlDataProvider
時,Document
和屬性對於我的versionsXml
資源(在<UserControl.Resources>
中定義)爲空。