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

C# Discussion :

Problème avec un binding sur un ContextMenu


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 200
    Par défaut Problème avec un binding sur un ContextMenu
    Bonjour,

    J'ai essayé de binder un menu contextuel avec une collection dont voici le code XAML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <ListView.ContextMenu>
                    <ContextMenu Name="contextMenuMediaFromPlaylist" >
                        <MenuItem Header="ajouter à la playlist..." ItemsSource="{Binding listePlaylists}" Click="MenuItem_Click" />
                    </ContextMenu>
                </ListView.ContextMenu>
    Ma "listePlaylists" est une collection de string, et j'ai besoin de récupérer le MenuItem sur lequel j'ai cliqué (en fait j'ai besoin de récupérer la valeur du header bindé sur ma "listePlaylists" qui a été cliqué) pour effectué le traitement dans ma méthode MenuItem_Click().

    Quelqu'un saurait-il comment récupérer cette valeur ?

    Merci d'avance !

  2. #2
    Membre émérite

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Par défaut
    J'ai pas très bien compris la question mais je pense que tu devrais trouver ton bonheur dans les arguments de la callback
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 200
    Par défaut
    Les arguments de la callback ?

    Je vais expliciter un peu mon problème :

    Ma collection de string à l'heure actuelle contient les valeurs suivantes : "Bibliothèque", "Funk", "Rock".

    et mon menu contextuel affiche donc :

    "ajouter à la playlist..." --> "Bibliothèque"
    --> "Funk"
    --> "Rock"

    Comment savoir si j'ai cliqué sur Rock, sur Funk ou sur Disco étant donné mon code XAML ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <ListView.ContextMenu>
                    <ContextMenu Name="contextMenuMediaFromPlaylist" >
                        <MenuItem Header="ajouter à la playlist..." ItemsSource="{Binding listePlaylists}" Click="MenuItem_Click" />
                    </ContextMenu>
                </ListView.ContextMenu>
    Sachant que dans mon xaml.cs j'ai donc la méthode suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    private void MenuItem_Click(object sender, RoutedEventArgs e) {
     
    }
    J'ai fouillé un peu dans le sender que j'ai casté en MenuItem et dans la variable e mais je n'ai rien trouvé d'accessible.

    Une idée sur où le trouver ?

  4. #4
    Membre émérite

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Par défaut
    Je n'avais pas bien compris. Dans ce cas, tu peux directement piocher dans le listPlaylists.SelectItem
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 200
    Par défaut
    Non je ne peux pas car cette liste est déjà bindé sur une listview et un élément est déjà sélectionné donc il me met cet élément mais je viens de me rendre compte que je pourrais passer par une liste intermédiaire mais n'y a-t-il pas moyen de faire autrement ?

  6. #6
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    C'est pas celui qui est dans le parametre "sender"?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CSS] probléme avec a:hover sur IE (mais bon sous FF)
    Par lafouin dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 12/02/2009, 15h55
  2. Problème avec les indexes sur une base de données.
    Par osoudee dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 09/02/2006, 09h24
  3. Problème avec ma connexion sur hotmail
    Par shukin dans le forum Autres Logiciels
    Réponses: 6
    Dernier message: 30/01/2006, 14h09
  4. Problème avec port Série sur Win XP
    Par alexorel dans le forum MFC
    Réponses: 9
    Dernier message: 27/10/2005, 15h32

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