Je veux un TreeView
avec des cases à cocher et j'essaie de suivre this tutorial. Cependant, il crée tout son contenu pour le TreeView
lors de l'exécution. J'ai un fichier XML que j'ai accessible en tant XmlDataProvider
dans mon XAML:WPF, lire les données de XmlDataProvider en C#
<XmlDataProvider Source="XmlData/Versions.xml" XPath="//*[count(*)=0]"
x:Key="versionsXml" />
J'ai une classe de modèle de vue avec IsChecked
et Name
propriétés, et je veux l'utiliser pour représenter les noeuds dans mon XML:
<Versions>
<Version name="1.0">
<Version name="1.0.001" />
<Version name="1.0.002" />
</Version>
</Versions>
Mon TreeView
affichera les nœuds feuille (c.-à-d., 1.0.001 et 1.0.002) avec une case à cocher. Comment est-ce que je peux remplir mon TreeView
avec pas directement le contenu XmlDataProvider
, mais plutôt un List<MyViewModel>
? Je peux créer une propriété dans mon DataContext
qui renvoie un List<MyViewModel>
, puis lier mon TreeView
à cette propriété, mais je ne sais pas comment, dans un getter de propriété C#, lire dans les données XML du XmlDataProvider
. Lorsque j'utilise TryFindResource
et que le résultat object
est converti en XmlDataProvider
, les propriétés Document
et Data
sont null pour ma ressource versionsXml
(définie dans <UserControl.Resources>
).