Interaction.Triggers, Keine Überladung (MouseEventArgs)

  • WPF

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Interaction.Triggers, Keine Überladung (MouseEventArgs)

    Guten Morgen,

    habe wiedermal ein kleines Problem, und zwar habe ich ein Interaction.Trigger für mein "MouseRightButtonDown" Event erstellt.
    Beim RelayCommand hab ich das Problem das ich Parameter für die Event Methode(object sender, MouseEventArgs e) übergeben muss.
    Dass will nicht so ganz klappen.

    Dies tritt bei der ersten Lamda-Expression auf. (Fehler 19 Keine Überladung für die Methode "MouseRightButtonDownCommandExecute" nimmt 0-Argumente an.)

    Die Referenzen:

    Quellcode

    1. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
    2. xmlns:mvvmCmd="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras.WPF4"


    Der XAML-Auschnitt des Controls:

    XML-Quellcode

    1. <i:Interaction.Triggers>
    2. <i:EventTrigger EventName="MouseRightButtonDown">
    3. <mvvmCmd:EventToCommand Command="{Binding MouseRightButtonDownCommand}"
    4. PassEventArgsToCommand="True" />
    5. </i:EventTrigger>
    6. </i:Interaction.Triggers>


    Der Code aus dem VM:

    VB.NET-Quellcode

    1. #region MouseRightButtonDown Command
    2. private RelayCommand mMouseRightButtonDownCommand;
    3. public new ICommand MouseRightButtonDownCommand
    4. {
    5. get
    6. {
    7. return this.mMouseRightButtonDownCommand ?? (this.mMouseRightButtonDownCommand = new RelayCommand(() => MouseRightButtonDownCommandExecute(), ()=>{ return true;}));
    8. }
    9. }
    10. public void MouseRightButtonDownCommandExecute(object sender, MouseEventArgs e)
    11. {
    12. Console.WriteLine();
    13. }
    14. #endregion


    Danke für eure Hilfe.. :)

    Beste Grüße
    Das Prob hat mit Triggers und Co nix zu tun.

    guck die Methode MouseRightButtonDownCommandExecute() an - die erwartet 2 Argumente, oder nicht?

    Und nu gugge an, wie das vom RelaiyCommand aus aufgerufen wird - da wird kein Argument übergeben.

    Kann man eine Methode, die 2 Argumente erwartet aufrufen, ohne ein Argument zu übergeben?

    Also ändere entweder den Aufruf oder die Aufgerufene, dasses wieder zusammenpasst.