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 :

Appel d'une commande à partir d'un datatemplate.


Sujet :

Windows Presentation Foundation

  1. #1
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 69
    Points : 82
    Points
    82
    Par défaut Appel d'une commande à partir d'un datatemplate.
    Bonjour,

    Etant développeur expérimenté winforms (C#) je m'essaie au WPF depuis quelques temps et je bute en particulier sur certains scénarios de binding. J'essaie de respecter le pattern MVVM.

    J'ai un contrôle ListView avec un ViewModel associé affecté à sa propriété DataContext. Ce ViewModel contient lui-même une propriété CommandeTest à laquelle une ICommand est affectée.
    Pour les éléments j'ai créé un DataTemplate dans lequel j'ai une image et surtout un bouton. Je voudrais juste affecter la commande de mon ViewModel à la propriété Command du bouton du DataTemplate. Mais je ne comprends pas comment, à partir du DataTemplate, accéder à la propriété CommandeTest de mon ViewModel, lui-même affecté au DataContext du ListView parent, tout ça en partant du Datatemplate.

    J'espère avoir été assez clair et espère de l'aide de votre part.

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 95
    Points : 131
    Points
    131
    Par défaut
    Si tu veux accéder à la commande depuis le DataTemplate spécifier pour les objets de la listview, tu peux tout simplement faire ce binding.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {Binding Path=DataContext.TaCommande, RelativeSource={RelativeSource FindAncestor, AncestorType=ListView}, Mode=OneWay}

  3. #3
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 69
    Points : 82
    Points
    82
    Par défaut
    Merci pour ta réponse, c'est exactement ce que je cherchais. Ça parait sans doute évident, mais j'ai vraiment du mal avec certaines syntaxes avancées de binding.

Discussions similaires

  1. Appel d'une méthode à partir d'une autre page
    Par mona dans le forum ASP.NET
    Réponses: 9
    Dernier message: 15/09/2007, 23h52
  2. Appel d'une méthode à partir d'un nom de méthode
    Par tnarol dans le forum Langage
    Réponses: 20
    Dernier message: 07/03/2007, 17h46
  3. [VB6][Débutant] Execute une commande à partir d'une chaine
    Par Bluespike62 dans le forum VB 6 et antérieur
    Réponses: 18
    Dernier message: 09/05/2006, 16h43
  4. [javascript] appel d'une fonction à partir d'une popup
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/08/2005, 15h14
  5. appel d'une fonction à partir d'un popup
    Par villeneuvejsp dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/12/2004, 17h00

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