Laden...

Wie ruft man ein ICmmand in WindowsForms auf?

Erstellt von MBoerner vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.458 Views
M
MBoerner Themenstarter:in
22 Beiträge seit 2016
vor 5 Jahren
Wie ruft man ein ICmmand in WindowsForms auf?

Guten Tag!
ich habe ein Demo-Programm in WPF, das ich gern in Windowsform umsetzen würde.

Es gibt in der Demo-Anwendung ICommand-Befehle, ich sehe nicht, wo man nachvollziehen kann, was sie machen. Und auch nicht, wie man sie aufruft.

Zum Beispiel:

    /// <summary>
    /// Gets the DoOpenBusCommand. This command opens the bus connection.  
    /// </summary>
    public ICommand DoOpenBusCommand
    {
      get
      {
        if (_openBusCommand == null)
        {
          _openBusCommand = new DelegateCommand(new Action(OpenBusExecuted), true);
        }
        return _openBusCommand;
      }
    }

Wo sehe ich da, was für Befehle aufgerufen wurden? Und kann man sowas auch in WindowsForms machen?

Danke im Voraus für die Hilfe

1.029 Beiträge seit 2010
vor 5 Jahren

Hi,

ICommand ist eigentlich nur für WPF üblich und so überhaupt möglich.

WindowsForms arbeitet mit Events.

LG

16.835 Beiträge seit 2008
vor 5 Jahren

Während man im WPF üblicherweise MVVM als Pattern wählt, ist der MVP-Pattern in WinForms sehr weit verbreitet.

709 Beiträge seit 2008
vor 5 Jahren

Das einfachste Nachstellen in Windows Forms wäre folgendes:

Schau nach, woran das Command-Objekt gebunden ist.
Wenn das z.B. ein Button ist, dann führst du um Click-EventHandler deines entsprechenden Buttons das aus, was in OpenBusExecuted steht.

In deinem Ausschnitt steht quasi "Wer auch immer dieses Command aufruft, soll das ausführen, was in OpenBusExecuted steht". Das true am Ende ist die Bedingung, wann das ausgeführt werden kann - in diesem Fall also immer.

M
MBoerner Themenstarter:in
22 Beiträge seit 2016
vor 5 Jahren

Danke schön!
das hat mir geholfen.
Es klappt auch.