Support, Anregungen, Wünsche zur Tutorialreihe <WPF lernen/>

  • WPF MVVM

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

    Ist notiert.
    Obs ausführlich wird weis ich noch nicht aber es wird Besprochen.

    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 und erstmal ein riesiges Entschuldigung für die lange Abwesenheit im Forum und meine Pause an der Tutorialreihe.

    Ich weis das viele auf die MVVM Teile warten und die ersten zwei Videos dazu sind auch bereits gemacht aber durch berufliche und private Veränderungen und dann auch noch einen Umzug inkl. Renovierung hatte ich keinerlei Zeit für Hobbys. Und das ist die Tutorialreihe nun mal.

    Aber soeben habe ich wieder einen Teil hochgeladen und noch diese Woche kommt der nächste Teil. Jetzt wirds interessant - MVVM. (also ab dem nächsten Teil).

    Hier erwarte ich mir weit mehr Echo aus der Community. Fragen, Anregungen und natürlich auch Kritik. Ich lerne auch gerne was neues und wenn jemand einen Tipp hat dann bitte her damit.
    Weiters suche ich auch noch immer (oder wieder) nach eine Unterstützung für die Tutorialreihe, in welcher Form auch immer.


    Hier der neueste Teil:

    4.5 Einträge bearbeiten und speichern

    Viel Spaß und liebe 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. ##

    Liebe Leute der gepflegten .Net Programmierung....

    Das nächste Video, und damit das erste Video zu MVVM. Erstmal nur eine Erklärung was MVVM denn genau ist und wofür es ist.
    Ich habe mich eher auf das Video beschränkt da ich keine Lust hatte fast 1:1 den Wiki Artikel zu übernehmen, ich denke das hat keinen Sinn, kann man dort ja auch nachlesen.
    Wenns ins Detail geht haben die Beiträge wieder mehr Text. Ich hoffe ich könnt mir das nachsehen.

    5.1 - Was ist das MVVM Pattern

    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. @Nofear23m

    Pflichtgemäß und mit Blutschwurerfüllungsnotwendigkeit das Kapitel 5 begonnen zu schauen.

    Bestestes Diagramm für MVVM.

    Kleine Frage zu Diagramm Punkt 5.

    Dort steht "5. Änderungen Teilen". Ist damit gemeint "Änderungen Mitteilen" ?

    c.u. Joshi

    P.S. Seit dem ich den Blutroten-Button auf dem Kanal gedrückt habe, weiss ich jetzt nicht genau wann ich schlafen darf,
    Dauerschleife läuft, und einen Tabwechsel fürchte ich... Habe beim Abo das Kleingerduckte nicht gelesen.
    Oh, nein! Habe doch den Tabwechsel gemacht. Uppsie, nicht passiert. Puhhh :)
    Hallo Joshi

    Deine Antworten sind immer geil zu lesen. Hammer. Sehe ich deinen Avatar fange ich schon ohne das ich was gelesen habe zu grinsen an. ;)

    Ja, "Änderungen Teilen" ist keine gute "Übersetzung". Übertragen wäre aber in dem Sinn auch falsch da nur ein Verweis auf die Daten "geteilt" wird.
    Ich offe man versteht es dennoch.

    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. ##

    Und wieder ein Kapitel....



    5.2 - Wann MVVM und wann nicht?

    Es bleibt zwar theoretisch, aber dennoch finde ich sollte man das wissen.

    Grüße euch allen

    PS: Was ist noch unklar am Pattern selbst? Soll ich noch auf was spezielles eingehen?
    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. ##

    Uff jetzt gehts aber Vorwärts. Ich muss mir das erstmal in Ruhe ansehen. Leider komme ich erst am we dazu. Aber da habe ich dann auch einiges zu tun, und es kommen sicherlich auch fragen.
    Vielen Dank für deine Mühen.
    Rechtschreibfehler betonen den künstlerischen Charakter des Autors.
    Hallo @Akanel

    Die aktuellen Teile sind alle samt nur ganz kurze ca. 10 Minütige Videos wo ich einfach nur spreche, das kann man sich also im Moment wie ein Hörbuch auch mal am Klo reinziehen. ;)
    Es ist im Moment nur Theorie. Warum MVVM, wann und wann nicht, Vorteile, Nachteile usw.

    die ersten Projekte und der Aufbau kommen erst. Ich will derweilen einfach mal die Leute abholen und an MVVM heranführen.

    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. ##

    Jep, das Kapitel 5.3 ist Online.

    Grüße an alle!
    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 und Danke für deine Mühe.
    Man spricht immer von der Hürde das MVVM Pattern erstmal zu verstehen und einsetzten.
    Dann sollte alles einfacher werden weil man die genannten Vorteile hat.
    Aber meine Erfahrung ist dann doch je weiter man ins Detail geht um so mehr Hürden kommen auf einen zu.
    Fängt an bei Navigations von Fenstern und Menüs um UserControls abzurufen.
    Messaging zwischen klassen.
    Zugriff auf Drucker.
    Charts ist auch so ein Problem.
    Datenbankzugriff fast nur mit Entity Framework möglich.
    Die Commands noch zu erwähnen.
    Das ganze Design Pattern oder zu mindest die wichtigsten muss man beherschen.
    Das ist jetzt nur eine grobe Auflistung.
    Für alles was ich machen möchte muss ich was zusammen bauen oder auf dritt Anbieter zugreifen.
    WPF ist eine schöne Sache und macht auch Spaß ohne zweifel.
    Das ganze fühlt sich aber irgenwie halb fertig an und ist jedesmal aufs neue Frustrierend.
    Man muss auch konstant und täglich damit Arbeiten um das ganze zu beherschen.
    Ich bin der Meinung das man sonst vieles vergisst wenn man lang nicht dran war.
    Ich bin hin und her gerissen weil eineseits ist es doch eine schöne Sache mit der ich Arbeiten will.
    Andersrum ist das ständige lernen und für alles Module(Interface,Klassen,Properties und Patterns ) schreiben um einfache Dinge auszuführen schon nervig und ser zeit raubend.
    Hallo

    Ich verstehe dich, und Anfangs ging es mir ähnlich, kann dich aber auch beruigen.

    Datenzugriff ist natürlich über alles mögliche kein problem, EF ist ja nur eine möglichkeit.
    Bei der Tutorialreihe werde ich Anfangs z.b. xml nehmen. Du wirst sehen das ist total easy.

    Die von dir Angesprochenen Hürden kann ich auch verstehen, auch hier werde ich einen weg zeigen der nicht nur sehr einfach sondern auch widerverwendbar ist.

    Und ein Grund für mich warum ich in der Tutorialreihe keine Drittanbieterbibliotheken nutzen möchte ist eben der das es damit zu komplex wird. Wir werden MVVM nur mit Boardmitteln machen und du wirst sehen das dadurch einiges nicht nur klarer wird sondern auch einfacher. Klingt blöd, ist aber so.

    Wenn du noch Fragen hast, nur her damit.

    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. ##

    Du wirst sehen, in den nächsten Kapiteln wird einiges klarer.

    Schau ich mur gerne an, bin aber frühestens morgen in der Lage dazu da uch unterwegs bin.

    Grüße
    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. ##

    Servus!

    Und der nächste Teil....

    5.4 - MVVM und CodeBehind - Verboten??

    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 Leute

    Es gibt nun nur noch ein Kapitel bis wir die erste MVVM Projektmappe aufbauen.
    Ist noch etwas offen, es ist schwer für mich einzuschätzen was am Pattern selbst noch unklar ist und was nicht.
    Habt Ihr noch fragen auf die ich eingehen soll? Lasst es mich bitte wissen.

    Liebe 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 Nofear,

    ich hab ein Menü das ich mit ein Button ausblende und einblende.
    Das Command befindet sich im ViewModel und dort wird eine Eigenschaft Visibility manipuliert.
    Die Visibility eine Panels ist an diese Eigenschaft gebunden(XAML).
    Das funktioniert ganz gut.

    Meine Frage ist nun:
    Ist es Ok das Aussehen der View über Eigenschaften aus dem ViewModel zu beeinflussen?
    Oder gehört das in die CodeBehind?

    Amro schrieb:

    Ist es Ok das Aussehen der View über Eigenschaften aus dem ViewModel zu beeinflussen?


    Das ist ein sehr gutes Beispiel. Danke, darauf werde ich eingehen.

    Ja, es ist OK, allerdings nicht mit einer Eigenschaft vom Typ Visibility. Diese befindet sich im Namespace System.Windows der PresentationCore.dll.
    Damit holt man sich also eine Abhängigkeit ins ViewModel die man nicht will.

    Mach dir eine Eigenschaft Visible vom Typ Boolean und im View einen BooleanToVisibilityConverter. Das ist der korrekte Weg.

    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. ##

    Hi. Joshi hier und so... :)

    Wollte auch mal nachfragen, ob Du in Zukunft einmal das "setzen von ViewModel(s)-Datakontexten" erläutern wirst?
    (In Application.xaml, In View-Datei, etc.)

    Wirst Du auch eine RelayCommand-Klasse (als Datei) bereitstellen?

    Wenn ja, könnte ein Video, mit kleinem Exkurs, zu den "Berühmten Snippets" helfen?

    Danke schon einmal im Vorraus, falls es berücksichtigt wird.

    @Amro
    Ich habe wirklich lange gebraucht bis ich MVVM verstanden habe, weil genau das was Du beschreibst mir auch wiederfahren ist.

    Es scheint so als würde beim erklären von MVVM immer mehr und mehr an "Coding-Voodoo" dazu gehören.
    Ich brauchte noch nie ein Attached-Dependency-Property, oder ich bin nie auf die Idee gekommen mich in EF (Entity-Framework) einarbeiten zu müssen.
    Datenbanken sind sowas von 90ies... ("Achtung! Meinung. => Keine wissenschaftliche Datenlage... :) )

    Eines was mir immer komisch Vorkam war die Idee: UserControls im ListBox wieder zu verwenden, bis ich gemerkt habe das es genau das war was ich wollte.

    Somit wurd ein einzelnes Element (Datensatz in einer Auflistung) zu einem ViewModel, welches im Dateil wiederverwendet wurde, und nur in der View anders aussah.

    Repo(po)sitory-Pattern, huch jetzt ist es mir Doch noch rausgerutsch, ach gottchen... (CSD lässt grüßen, verdammter Glitzer! Wieder ein halbes Jahr bis der mal weg ist aus der Bude...)

    Worauf ich hinaus will ist, das die Pattern alle gar nicht gebraucht werden.

    XML/JSON als Datenbankersatz für die Persistenz (Datenspeicherung. EF und DB ist meist voll Overkill)
    Das Observer-Pattern/Beobachter-Muster ist Teil von WPF und mit MVVM kommt eine UI-Lastige Variante vom Beobachter-Muster zum Einsatz.

    Bis heute habe ich keine Notwendigkeit für Interfaces gehabt, ging auch so...
    Wird aber in Zukunft bei mir vermehrt Eingesetzt, und dann mittels EF und DB Google oder Microsoft aufkaufen. Oder halt beide... ;)

    Ach was schwafel ich wieder hier über MVVM... Maches einfach und deine Haut wird porentief Rein... lol

    @Nofear23m

    Wenn interesse besteht, bei Dir und bei anderen, könnte ich vielleicht kleine Exkurs Videos einreichen...
    "Addendum of da MVVM-Kürs - Da Voll Krass-Edition!"

    c.u. Joshi aus HH
    Hallo @Joshi

    Wieder cool geschrieben.....

    Joshi schrieb:

    ob Du in Zukunft einmal das "setzen von ViewModel(s)-Datakontexten" erläutern wirst?

    Das verstehe ich nicht ganz? Ein ViewModel hat keinen DatenKontext. Wie meinst du das?

    Joshi schrieb:

    Wenn interesse besteht, bei Dir und bei anderen, könnte ich vielleicht kleine Exkurs Videos einreichen...

    Ich habe/hatte auf jeden Fall vor ein paar Dinge zu erklären. Die RelayCommand-Klasse hatten wir ja glaube ich schon. Aber wir können uns da gerne mal per PNs austauschen was du genau meinst.

    Was EF anbelangt kann man das Pauschal so garnicht mehr sagen. EF kann mittlerweile auch NoSQL Datenbanken, CosmosDB usw.
    Und obs nun Overkill ist weis ich auch nicht. EF Core läd verdammt schnell und mir ist so gut wie immer ne DB lieber als sonst was. Und wenns nur ne localDB ist.
    Da brauch ich nix für und ich habe Vorteile (Projektion usw) die habe ich nunmal nur mit Datenbanken.
    Aber für die Tutorialreihe werde ich auch nur mit Serialisierung arbeiten (vorerst) um es einfach zu halten.

    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. ##