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 :
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}}"  />
Je renseigne dans mon code le fichier xml :

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!