I want a TreeView
with checkboxes and I'm trying to follow this tutorial. However, in it, he creates all his content for the TreeView
at runtime. I have an XML file that I have accessible as an XmlDataProvider
in my XAML:
<XmlDataProvider Source="XmlData/Versions.xml" XPath="//*[count(*)=0]"
x:Key="versionsXml" />
I have a view model class with IsChecked
and Name
properties, and I want to use this to represent nodes in my XML:
<Versions>
<Version name="1.0">
<Version name="1.0.001" />
<Version name="1.0.002" />
</Version>
</Versions>
My TreeView
will display leaf nodes (i.e., 1.0.001 and 1.0.002) with a checkbox. How can I populate my TreeView
with not the XmlDataProvider
's content directly, but rather a List<MyViewModel>
? I can create a property in my DataContext
that returns a List<MyViewModel>
, then bind my TreeView
to that property, but I don't know how, in a C# property getter, to read in the XML data from the XmlDataProvider
. When I use TryFindResource
and cast the object
result to XmlDataProvider
, the Document
and Data
properties are null for my versionsXml
resource (defined in <UserControl.Resources>
).