Command's in WPF

  • WPF

Es gibt 23 Antworten in diesem Thema. Der letzte Beitrag () ist von Nofear23m.

    Hallo,

    ich melde mich hier nochmal, weil es thematisch passt.

    Ich habe die RelayCommand Klasse von euch lange genutzt und es hat auch alles funktioniert.
    Jetzt entwickel ich allerdings unter .Net Core 3 und dort funktioniert die Klasse nicht mehr.

    Genauer gesagt gibt es keinen CommandManager mehr.
    Ich glaube Sascha hat mich da schon gewarnt.

    Ich habe da jetzt eine Zeit lang im Internet gesucht, aber keine Alternative gefunden.

    Jetzt wollte ich mal fragen, welche RelayCommand Klasse ihr unter .Net Core nutzt.

    Viele Grüße
    Florian
    Hallo Florian

    Ja, den CommandManager gibt es unter .Net Standard und .Net Core nicht.

    Somit muss die RelayCommand-Klasse etwas "umgebaut" werden.
    Ich hatte das mal in dem HomeStorage Projekt gemacht da dort auch das ViewModel bereits unter .Net Standard erstellt wurde.

    Ich bin zu folgendem Ergebnis gekommen: MVVM OpenSource Communityprojekt - HomeStorage

    Sicher nicht perfekt, aber ausbaufähig.
    PS: Diese "Magie" das die Buttons automatisch Enabled oder Disabled werden hast du allerdings nicht mehr OutOfTheBox, denn das machte ja eben der CommandManager. Aber hierfür habe ich auch eine Lösung eingebaut. Schau es dir einfach an und lese vieleicht ein paar Beiträge drüber und darunter.

    Ansonsten Frag hald nach.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Hallo,

    habe gerade den Abschnitt in dem Thread über die Klassen gelesen, und muss sagen das passt soweit.
    Vielen Dank für den Tipp!
    Warum baut Microsoft nicht einfach einen CommandManager in .Net Core ein..........
    Aber egal.

    Noch einen schönen Abend wünsche ich dir.

    Viele Grüße
    Florian

    florian03 schrieb:

    Warum baut Microsoft nicht einfach einen CommandManager in .Net Core ein

    Ich vermute aus Performancegründen. Falsch angewandt kann es zu sehr starken einbußen kommen.

    Der Commandmanager ruft immer wieder CanExecute auf. Und mit immer wieder meine ich wirklich in allen möglichen situationen. Bewegen des Fensters, Änderung jedes Properties, usw.
    Hat man hier dann Code im CanExecute der ein paar Millisekunden braucht kann man das schon merken.

    Ohne Commandmanager muss man eben selbst entscheiden wann das CanExecute immer genau validiert wird. So kann/muss man das genau steuern.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##