Bonjour,

J'ai un treeview dont voici le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
    <Window.Resources>
        <HierarchicalDataTemplate DataType="{x:Type app:Item}" ItemsSource="{Binding Path=Children}">
            <TextBox x:Name="tbx" Text="{Binding Path=Name}" />
        </HierarchicalDataTemplate>
    </Window.Resources>
    <TreeView x:Name="tr1" ItemsSource="{Binding}" />
J'aimerais pour chaque item du treeview faire un menu contextuel quand on clique droit sur la TextBox.
Dans le Hierrarchical datatemplate j'écris donc :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
            <TextBox x:Name="tbx" Text="{Binding Path=Name}">
                <TextBox.ContextMenu>
                    <ContextMenu ItemsSource="" />
                </TextBox.ContextMenu>
            </TextBox>
Le problème que j'ai est que je voudrais binder tous les menus contextuels à une même liste. Comment puis-je faire cela ?

J'avais l'idée de récupérer par le code (ou par un trigger ?) tous les Texbox "fils" de mon treeview, puis de leur définir à chacun la propriété DataContext avec ma liste source. Le problème est que je ne vois pas comment récupérer ces Texbox par le code. Quelqu'un saurait comment faire ?

Merci d'avance pour votre aide.

Mathmax