Я хочу TreeView
с флажками, и я пытаюсь следовать этому уроку . Однако в нем он создает весь свой контент для TreeView
во время выполнения. У меня есть XML-файл, который я могу использовать как XmlDataProvider
в своем XAML:
<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 # читать XML-данные из XmlDataProvider
. Когда я использую TryFindResource
и приводим результат object
к XmlDataProvider
, свойства Document
и Data
равны нулю для моего ресурса versionsXml
(определенного в <UserControl.Resources>
).