none
Button an Command binden im Code RRS feed

  • Frage

  • Meine Frage ist vielleicht banal, aber ich versuche, im code behind einen Button an ein bestehendes Command (selbstimplementiert und abgeleitet von ICommand) zu binden.

     

    CommandBinding myCommandBinding = new CommandBinding(MyControl.LoginVM.LoginCommand);
              this.MyButton.CommandBindings.Add(myCommandBinding);

    Obiger Code scheint falsch zu sein.

    Leider kann ich keine Beispiele finden, wo an selbstprogrammierte Commands gebunden wird (was ich fand, bindete nur ApplicationCommands).

     

    Montag, 11. April 2011 13:07

Antworten

  • Am 11.04.2011 15:07, schrieb Code4132:

    Meine Frage ist vielleicht banal, aber ich versuche, im code behind einen Button an ein bestehendes Command (selbstimplementiert und abgeleitet von ICommand) zu binden.

    CommandBinding myCommandBinding = new CommandBinding(MyControl.LoginVM.LoginCommand);
    this.MyButton.CommandBindings.Add(myCommandBinding);

    Obiger Code scheint falsch zu sein.

    Leider kann ich keine Beispiele finden, wo an selbstprogrammierte Commands gebunden wird (was ich fand, bindete nur ApplicationCommands).

    Wenn Du einen eigene Implementierung von ICommand verwendest,
    musst Du nur die Command-Eigenschaft des Button setzen:

     this.MyButton.Command = MyControl.LoginVM.LoginCommand;


    CommandBindings sind v.a. für Routed- und RoutedUICommand gedacht.
    Deren Execute / CanExecute Methoden sind funktional sozusagen "leer".
    Sie rufen nur Delegates auf, die ihnen über CommandBindings
    zugeordnet werden.
    Bei eigenem ICommand braucht man es nicht  bzw. selten.

    Christoph


    • Als Antwort markiert Code4132 Dienstag, 12. April 2011 08:29
    Montag, 11. April 2011 15:06