Bonjour,
J'effectue un binding sur un treeview à partir d'un XmlDataProvider.
Dans mon xaml, j'ai :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
Je renseigne dans mon code le fichier xml :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <TreeView x:Name="arbre" ItemTemplate= "{StaticResource NodeTemplate}" ItemsSource="{Binding Source={StaticResource xmlMetaData}}" />
Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
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!
Partager