MVVM #3 - WPF Praxis - Bitte Benachrichtigen!

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 ม.ค. 2025

ความคิดเห็น • 45

  • @L0llomat0
    @L0llomat0 2 ปีที่แล้ว +3

    Immer noch im Jahre 2023 ein Hammer gutes Tutorial! Vielen Dank dafür 🙂

  • @TheIndieProject
    @TheIndieProject 3 ปีที่แล้ว +6

    Tolle Tutorialreihe! Für den absoluten Beginner wäre es vermutlich zu schnell, aber das ist wohl auch eher nicht die Zielgruppe.
    Ich finde die Menge an Infos, Nebeninfos und die Geschwindigkeit exzellent für Leute die mit C# vertraut und erste Blicke auf WPF geworfen haben. Auch die Videolänge ist top. Danke für deine Mühe!

  • @diwest243
    @diwest243 3 หลายเดือนก่อน

    Best tutorial for vm, no need to even learn german to understand it

  • @DragonTHB
    @DragonTHB 2 ปีที่แล้ว +1

    Absolut klasse. Super erklärt, schön mit Beispiel und alles. Nur Das Mikrofon ist etwas krisselig.

    • @42Entwickler
      @42Entwickler  2 ปีที่แล้ว

      Danke fürs Feedback und sorry wegen dem Mikro. Mal gucken wie ich das hin bekomme....

    • @DragonTHB
      @DragonTHB 2 ปีที่แล้ว +1

      @@42Entwickler Haha du brauchst dich ja nicht wegen dem Mikro entschuldigen. Ich bin ja froh, dass jemand auf Deutsch so gute Videos macht und die Sachen so gut erklärt.

    • @42Entwickler
      @42Entwickler  2 ปีที่แล้ว

      ;-)

  • @RT-fi7rb
    @RT-fi7rb ปีที่แล้ว

    Ich erhalte stets einen Fehler: InvalidOperationException: TwoWay- oder OneWayToSource-Bindungen funktionieren nicht mit der schreibgeschützten Eigenschaft "FullName" vom Typ "_1_MVVM_Design_Pattern_Fuer_GUI.MainWindowViewModel".
    Wissen Sie woran das liegt?

    • @42Entwickler
      @42Entwickler  ปีที่แล้ว +1

      Wahrscheinlich bindest du die Eigenschaft FullName auf beispielsweise eine textbox oder ähnliches (irgendetwas wo der Benutzer eine Eingabe machen kann) und hast kein set in der Eigenschaft. In diesem Fall musst du explizit den BindingMode auf one-way setzen oder auf ein Steuerelement binden dass selbst keine Eingabe hat (Label)

    • @RT-fi7rb
      @RT-fi7rb ปีที่แล้ว

      Ja du hast Recht, es hat geklappt, danke. Mal eine andere Frage, ich habe jetzt mit einem Textblock das Beispiel nachgemacht und habe mich gefragt, ob nicht nur ein event this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(FullName))); für den Anwendungszweck ausreicht. Weil die Eigenschaft selber wird durch Ändern des Textblock doch automatisch benachrichtigt oder?
      @@42Entwickler

  • @freshrafyz6607
    @freshrafyz6607 2 ปีที่แล้ว

    Mir ist aufgefallen bei Ihrer Delegate-Videoreihe verwenden Sie keinen Zeilenumbruch vor den geschweiften Klammern einer Methode oder eines IF-Statement.
    Hier im Video bei den Properties gibt erst einen Umbruch, jedoch bei den IF-Abfragen und den Methoden wieder keinen.
    Fand das sehr übersichtlich, OHNE den Umbruch jedes Mal. Wie ist da der Industrie-Standart? Will es mir gleich richtig angewöhnen.
    Habe es in den VS Settings bereits geändert auf keinen autoamtischen Umbruch.

    • @42Entwickler
      @42Entwickler  2 ปีที่แล้ว +1

      Das ist eine absolute Philosophie Frage. Der eine schwört auf jede Klammer in einer eigenen Zeile und der nächste auf eine andere Version. Ich persönlich hab die öffnende Klammer gerne ich der gleichen Zeile um mehr Inhalt auf einen Bildschirm zu bekommen. Wichtig ist ein einheitlicher Stil in einem Projekt und Team :-)

    • @freshrafyz6607
      @freshrafyz6607 2 ปีที่แล้ว

      @@42Entwickler danke sehr! Sehe das wie Sie.

    • @42Entwickler
      @42Entwickler  2 ปีที่แล้ว

      :-)

  • @wildniscamper7276
    @wildniscamper7276 2 หลายเดือนก่อน

    manchmal kann ich es nachvollziehen aber manchmal sind es einfach nur bunte pixel, die über den screen tanzen.... brutal.. in der übersicht ok...aber im detail...aua... da fällt einem wieder ein, warum man in der schule c so schön fand😂 aber wirklich hammer erklärt! ist halt nix für anfänger bzw harter tobak✌

    • @42Entwickler
      @42Entwickler  2 หลายเดือนก่อน

      Danke fürs Feedback

    • @wildniscamper7276
      @wildniscamper7276 2 หลายเดือนก่อน

      @@42Entwickler bis vor 5min dachte ich noch, ich bekomm das alles hin was ich mir in den kopf gesetzt hab....seit 5min frag ich mich aber nurnoch eins: KANN MAN DICH BUCHEN??? 😂😜 so cool, aber so viel, dass man sich manches kaum merken kann...aber leider cool

    • @42Entwickler
      @42Entwickler  2 หลายเดือนก่อน

      :-) ja immer wieder Mal mach ich entsprechende Kundenaufträge. Aktuell bin ich Recht ausgebucht. Aber grundsätzlich ja ;-)

    • @wildniscamper7276
      @wildniscamper7276 2 หลายเดือนก่อน

      @@42Entwickler ich hab jetzt 8 seiten die alle mit individuellen '"frankensteinartigen-konstrukten" funktionieren..so als working prototyp ist das ok aber wäre wirklich cool, wenn man für ein evtl projekt mal den kontakt haben könnte. wird dann aber hardcore mit tcp zu einer sps + ui auf hdmi + vpn zugang + daten in form von parametern für programme aus dem web laden (vom server) + webcam..... aber eins mal so aus spaß..ich scheiter komplett an der webcam einbindung egal welche bibliothek ich einbinde entweder fehler od keine fehler aber kein bild.. da wäre ein einfaches simples wpf c# video das nicht 8 jahre+ ist sehr cool! besten gruß aus landsberg

  • @Brianboy9494
    @Brianboy9494 2 ปีที่แล้ว

    Warum eigentlich zwei mal RaisePropertyChanged(); und dann nochmal RaisePropertyChanged(nameof(Full Name));?

    • @42Entwickler
      @42Entwickler  2 ปีที่แล้ว +1

      Weil sich durch die Änderung von Vorname auch automatisch der FullNamen ändert und damit WPF auch das in der Oberfläche aktualisiert

    • @Brianboy9494
      @Brianboy9494 2 ปีที่แล้ว

      @@42Entwickler Ah ja stimmt! Danke für die schnelle Antwort.

    • @42Entwickler
      @42Entwickler  2 ปีที่แล้ว

      Bitte

  • @jo.si_911
    @jo.si_911 2 ปีที่แล้ว +1

    Super Video 👍🏼
    Kurze Frage: Wenn ich wie in der Konstellation im Video lediglich wünsche, dass der Fullname geupdated wird, wenn sich First- oder Lastname ändern, würde es doch ausreichen, das Event nur für den Fullname zu werfen oder?🤔

  • @chrisderwicht
    @chrisderwicht 2 ปีที่แล้ว

    Die Videos helfen mir extrem gut weiter, da auch ich NVVM "ernst" nehmen will.
    Die Kritik die ich habe geht nicht an dich sondern an Microsoft:
    Man will die strikte Trennung von View und Programmlogik um damit die Entwicklung in diesem Aspekt effizienter zu gestalten.
    Blöd ist nur, das dadurch alles andere unnötig komplizierter wird... ich habe noch nie mit Windows Forms gearbeitet aber ein Blick in ein Tutorial zu Forms hat mir genau diesen Nachteil ganz klar aufzeigen können.
    Ich vermute der eigentliche Gedanke dahinter war es, eine Zwischenlösung zu schaffen, mit der man später elegant zu WinIU wechseln kann, ohne alles bisher implementierte sowie erlernte über Bord werfen zu müssen? Oder: Wieso halten so viele noch immer an Forms fest? ICH hab ja schon Probleme MVVM zu durchdringen... und bin nicht durch Forms "vorbelastet".
    Was sagst du dazu?

    • @42Entwickler
      @42Entwickler  2 ปีที่แล้ว

      Ja wie du gemeint hast geht der Switch zwischen den Technologien WinUI oder Blazor dadurch einfacher. Der andere Vorteil ist dass die Logik dadurch einfacher unit Testbar wird und du dich weniger übers UI aktualisieren kümmern musst. WPF ist um einiges Mächtiger wenn es um Custom Controls, Layout oder Animationen geht. Der große Vorteil von Firma ist dass die Lernkurve viel flacher ist und du bei kleinen Apps wo du die Mächtigkeit nicht brauchst dann auch schneller bist. Das ist wohl auch der Grund warum viele noch auf Forms setzen.

  • @DB-hc2es
    @DB-hc2es 3 ปีที่แล้ว +3

    Video 1 und 2 waren klasse, hier geht es aber m.M. nach zu schnell, einige Dinge hätten etwas genauer erklärt werden können

    • @42Entwickler
      @42Entwickler  3 ปีที่แล้ว +1

      Danke fürs Feedback

    • @DB-hc2es
      @DB-hc2es 3 ปีที่แล้ว

      @@42Entwickler OK, beim 2. Schauen, richtig zuhören :) und mit Debugging war es wunderbar nachvollziehbar. Sorry für meine erste Kritik.

    • @Marcel-so4mq
      @Marcel-so4mq 3 ปีที่แล้ว

      ​@@DB-hc2es Fand dein Feedback gut, dachte mir bei diesem Video auch, wow, das wurde hier schnell kompliziert und exakt.
      Die Anwendung von CallerMemberName und automatische Weitergabe... sind bestimmt der elegante, kurze und schöne Weg, doch vlt. kann man es auf ein leichteres Beispiel runterbrechen?

    • @42Entwickler
      @42Entwickler  3 ปีที่แล้ว +1

      danke fürs Feedback habs leider erst jetzt gesehen.

  • @carstenschlegel6975
    @carstenschlegel6975 3 ปีที่แล้ว +1

    Ich finde das Beispiel schlicht genug um auch zusätzlichen Content z.B. [CallerMemberName] oder einfach nameof(Firstname) einzubringen.
    Geschwindigkeit ist so eine Sache, dem einen ist es zu schnell (und findest die Pause-Taste/Button nicht), dem anderen zu langsam (und schaut sich das Video in 5-Sekunden Sprüngen an). Hier gibt es kein richtig oder falsch.
    Wichtiger finde ich, ist die länge des Videos:
    Tutorials mit > 10 Minuten sind eher abschreckend.
    Deine Tutorials sind eher kurz gehalten und in kleine Abschnitte eingeteilt -> Super
    Auch die Zusammenfassung am Ende ist gut, wobei Du hier am Anfang (am besten als Text eingeblendet) erwähnen solltest, das es am Ende eine Zusammenfassung gibt (einige könnten dann sich nur die Zusammenfassung anschauen um an die eine gesuchte Information zu kommen).
    Alles in allem: gute Videolänge, schlicht, guter und auch nicht zu viel Nebencontent und die Geschwindigkeit ist echt ok.

  • @hakjaguar
    @hakjaguar 3 ปีที่แล้ว

    👍

  • @hakjaguar
    @hakjaguar 3 ปีที่แล้ว +1

    ⌨️