XmlDataProvider et Treeview
Bonjour,
J'effectue un binding sur un treeview à partir d'un XmlDataProvider.
Dans mon xaml, j'ai :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <Window.Resources>
<HierarchicalDataTemplate x:Key="NodeTemplate" ItemsSource="{Binding XPath=./*}" >
<StackPanel Orientation="Horizontal">
<CheckBox x:Name="AfficherCacherBox" IsChecked="True" Click="Afficher_Cacher_Click" VerticalAlignment="Center"/>
<ContentPresenter x:Name="tb" Margin="5,0" Content="{Binding XPath={StaticResource myattribute}}" />
</StackPanel>
</HierarchicalDataTemplate>
<XmlDataProvider x:Key="xmlMetaData" XPath="/*">
<x:XData>
<Root xmlns="">
</Root>
</x:XData>
</XmlDataProvider>
</Window.Resources> |
et mon arbre :
Code:
1 2
| <TreeView x:Name="arbre" ItemTemplate= "{StaticResource NodeTemplate}"
ItemsSource="{Binding Source={StaticResource xmlMetaData}}" /> |
Je renseigne dans mon code le fichier xml :
Code:
1 2 3 4
| XmlDataProvider dp = (XmlDataProvider)this.FindResource("xmlMetaData");
XmlDocument doc = new XmlDocument();
doc.Load("file.xml");
dp.Document = doc; |
Ensuite, j'ai besoin de parser tous les items de mon arbre avec une fonction récursive, mais le problème est que lorsque je lance cette fonction juste après "dp.Document = doc"
l'arbre n'a pas fini de se remplir.
Comment est-il possible de savoir lorsque tous les noeuds ont été chargés?
Je cherche à lancer ma fonction quand tous les noeuds sont chargés.
Comment-faire?
Merci pour votre aide!