IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

définir un menu contextuel sur les items d'un treeview


Sujet :

Windows Presentation Foundation

  1. #1
    maa
    maa est déconnecté
    Membre actif
    Avatar de maa
    Inscrit en
    Octobre 2005
    Messages
    672
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Octobre 2005
    Messages : 672
    Points : 288
    Points
    288
    Par défaut définir un menu contextuel sur les items d'un treeview
    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

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Si tu définit une source de données extérieure (en ressource par ex) et que tu binde l'ItemSource de ton ContextMenu dessus, je pense que cela devrait aller: tous les ContextMenu devrait avoir les mêmes éléments.

    PS: Je ne sais pas trop si je suis clair là

  3. #3
    maa
    maa est déconnecté
    Membre actif
    Avatar de maa
    Inscrit en
    Octobre 2005
    Messages
    672
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Octobre 2005
    Messages : 672
    Points : 288
    Points
    288
    Par défaut
    Oui mais j'aimerai aussi savoir à quel item de mon treeview j'ai à faire quand je sélectionne une option de mon menu contextuels (histoire d'appliquer des modifications sur cet item par le choix d'une des options du menu contextuel). Comment faire ?

  4. #4
    maa
    maa est déconnecté
    Membre actif
    Avatar de maa
    Inscrit en
    Octobre 2005
    Messages
    672
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Octobre 2005
    Messages : 672
    Points : 288
    Points
    288
    Par défaut
    Comment définir une liste static de ma classe Window1 comme ressource ?

  5. #5
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par maa Voir le message
    Oui mais j'aimerai aussi savoir à quel item de mon treeview j'ai à faire quand je sélectionne une option de mon menu contextuels (histoire d'appliquer des modifications sur cet item par le choix d'une des options du menu contextuel). Comment faire ?
    Sur le clic de ton élément du menu contextuel, tu peux récupérer le sender qui doit, si tout va bien, être ton élément du treeview

Discussions similaires

  1. Databind sur les items d'un contrôle web menu
    Par Sniperwolf38 dans le forum ASP.NET
    Réponses: 0
    Dernier message: 19/12/2012, 14h20
  2. [Gridview] Menu Contextuel sur l'item
    Par anthyme dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 08/07/2008, 13h50
  3. Menu contextuel sur CStatic
    Par benahpets dans le forum MFC
    Réponses: 8
    Dernier message: 05/07/2005, 10h27
  4. [VB6] menu contextuel sur clique droit souris
    Par da40 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 08/07/2003, 11h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo