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

Silverlight Discussion :

EventTrigger et utilisation de CallDataMethod


Sujet :

Silverlight

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 19
    Par défaut EventTrigger et utilisation de CallDataMethod
    Bonsoir/bonjour !

    Aujourd'hui, j'ai du apporter une modification à un petit projet en suspend... Globalement, j'avais ceci dans un DataForm

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <interactivity:Interaction.Triggers>
          <interactivity:EventTrigger EventName="DeletingItem">
                <interactivity:InvokeCommandAction Command="{Binding ContentLoadedCommand}" />
           </interactivity:EventTrigger>
    </interactivity:Interaction.Triggers>
    Avec pour code dans le ViewModel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    DeletingItemCommand = new RelayCommand<object>(OnDeletingItem);
     
    ......
     
    private void OnDeletingItem(object param)
    {
          ........
    }
    Tout se passait bien, je faisais ce que j'avais à faire là et ça passait bien dedans lors d'un click sur le bouton "-".

    Voulant demander une confirmation à l'utilisateur, je dois maintenant avoir accès au CancelEventArgs et j'aimerais donc changer mon TriggerEvent en me servant de CallDataMethod à la place de InvokeCommandAction.

    J'aurais alors une méthode comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private void DataformBillDeletingItem(object sender, CancelEventArgs e)
    Il est possible qu'il existe une autre façon de faire mais j'aurai de toute façon besoin de ce CallDataMethod pour d'autres projets...

    J'ai vu dans ces deux articles (et ailleurs encore) comment procéder :

    http://goldytech.wordpress.com/2010/...dling-in-mvvm/
    http://wildermuth.com/2009/09/02/Why..._Are_Important

    Ça ne semble vraiment pas sorcier et les changements à faire sont minimes... Et pourtant je n'y arrive pas... J'ai installé les Samples du Codeplex d'Expression et j'insère la référence Expression.Samples.Interactivity dans mes références puis je vois différents soucis d'assembly, etc.

    Je tente alors de faire d'abord mes tests dans un projet vierge pour ne pas apporter de soucis à mon travail précédent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <ListBox x:Name="LstFruits"
                     ItemsSource="{Binding FruitsCollection}"
                     DisplayMemberPath="FruitName"
                     SelectionMode="Multiple"
                     Grid.Row="0">
                <swi:Interaction.Triggers>
                    <swi:EventTrigger EventName="SelectionChanged">
                        <esi:CallDataMethod Method="LstFruits_SelectionChanged" />
                    </swi:EventTrigger>
                </swi:Interaction.Triggers>
            </ListBox>
    Et idem, ici j'ai une erreur :
    A value of type 'CallDataMethod' cannot be added to a collection or dictionary of type 'TriggerActionCollection'
    Je joints un screenshot des références de mon projet...

    Quelqu'un a-t-il une idée du soucis ? Quelqu'un a déjà utilisé ce CallDataMethod qui semble fort pratique ?

    Merci d'avance !
    Images attachées Images attachées  

Discussions similaires

  1. [ControlTemplate] Utiliser un EventTrigger pour lancer un autre évènement
    Par seiryujay dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 11/03/2009, 22h40
  2. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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