Wie benutze ich den DelegateCommand in einem Viewmodel?

8

Gibt es ein Beispiel dafür, wie ein DelegateCommand für ein in F # geschriebenes Ansichtsmodell aufgerufen wird?

Ich habe den folgenden Code für eine DelegateCommand-Implementierung hier gefunden:

%Vor%

Ich bin jedoch nicht sicher, ob ich diese Implementierung verwenden sollte oder ob es einen anderen Ansatz gibt, den ich nutzen sollte.

Hier ist ein Test, den ich ausführen möchte, sobald ich herausgefunden habe, wie man einen DelegateCommand ausführt:

%Vor%

Mein Ansichtsmodell ist das folgende:

%Vor%

Ich habe das folgende Basisansichtsmodell:

%Vor%

Aktualisierung:

Ich habe den in der MVVM-Projektvorlage für F # definierten RelayCommand folgendermaßen geändert:

%Vor%

Ich habe dann mein Viewmodel wie folgt aktualisiert:

%Vor%

Ich bin mir jedoch nicht sicher, wie ich die Execute-Funktion im Submit (DelegateCommand) aufrufen kann:

%Vor%

Ich weiß, dass das trivial ist, aber ich habe ehrlich keine Ahnung, wie ich das machen soll.

Irgendwelche Vorschläge?

    
Scott Nimrod 09.01.2016, 12:22
quelle

2 Antworten

3

Ändern Sie die Submit Implementierung in diese:

%Vor%

und nenne es so:

%Vor%

Die wichtige Änderung besteht darin, dass der Rückgabetyp Submit jetzt ICommand anstelle von DelegateCommand ist. Dies liegt an der Verwendung des Upcast-Operators :> .

In F # sind alle Schnittstellen explizit implementiert . Dies bedeutet, dass, obwohl DelegateCommand ICommand implementiert, die Methoden von ICommand nicht für Objekte sichtbar sind, die als DelegateCommand deklariert (oder abgeleitet) werden. Wenn der Wert für den Typ ICommand deklariert (oder abgeleitet) wird, sind andererseits nur die Mitglieder von ICommand verfügbar.

    
Mark Seemann 09.01.2016, 14:05
quelle
2

Da ich MVC oder MVVM nicht mit F # verwendet habe, kann ich kein spezifisches Codebeispiel angeben.

Für

  

Allerdings bin ich mir nicht sicher, ob ich das verwenden sollte   Implementierung oder wenn es einen anderen Ansatz gibt, den ich sein sollte   Hebelwirkung.

Wenn Sie Visual Studio verwenden, das auch eine Community-Edition das kann kostenlos heruntergeladen werden, es gibt Vorlagen für MVC und MVVM.

Um über das Menü auf die Vorlagen von VS zuzugreifen.

Datei - & gt; Neu - & gt; Projekt

Erweitern Sie Online
Erweitern Vorlagen | Erweitern Sie Visual F #

Geben Sie oben rechts für "Online-Vorlagen suchen" einen Begriff wie MVC oder MVVM ein

Wähle einen aus oder untersuche ein paar.

Hinweis: Einige der Templates sind ein paar Jahre alt und F # und Windows haben sich auf dem Weg weiterentwickelt, so dass ich die älteren eher meiden würde. Auch die Autoren der beliebtesten sind in der Regel online zu finden und sogar einige sind hier, also stellen Sie Fragen über Besonderheiten.

Sie können auch andere Vorlagen, Steuerelemente und Erweiterungen für VS in der Visual Studio-Galerie anzeigen mit einem Internetbrowser.

Achtung: Einige der Erweiterungen verursachen Probleme bei der Installation, insbesondere bei älteren oder weniger bekannten, also seien Sie vorsichtig und installieren Sie sie erst auf einem Produktionsrechner, wenn Sie sie auf einem anderen testen Maschine zuerst.

    
Guy Coder 09.01.2016 13:09
quelle

Tags und Links