[Aufgrund aktueller Situation] Webinar zum Thema WPF, MVVM, uvm.

Es gibt 47 Antworten in diesem Thema. Der letzte Beitrag () ist von EaranMaleasi.

    OK, dann würde ich sagen nach dem Abendessen. Sagen wir mal 19 Uhr.

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

    Moin zusammen, ich war eben bei Discord und habe gesehen, dass MichaHo gesagt hat, dass wir wieder einen Termin ausmachen können.

    Wann passt es euch?
    An die Neulinge: Nutzt Option Strict On und Option Infer Off. Dadurch kommt ihr mit Datentypumwandlungen nicht durcheinander und der Code verbessert sich um Einiges! Solche Fehler à la Dim Beispiel As Integer = "123" können nicht mehr passieren.
    Ich kann mich da im Grunde nach euch richten.
    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,

    ich hab mal ein Commit hochgeladen.
    Das Commit beinhaltet den Umbau auf EFCore mit SQLite. Ich komm mit dem ganzen XML Kram nicht klar. Mit SQLite komm ich besser klar.
    Die App startet nun auch sauber und man kann sich einloggen.
    Die Tests laufen bis auf 2 auch durch. In den Tests hab ich auf InMemory DB umgeschrieben.
    Die SQLite DB wird unter AppData/Roaming abgelegt.
    Probleme hatte ich noch, das Login Fenster zu schließen und das Hauptfenster zu öffnen.
    Da ich eh kein Freund von Fenstern bin, baue ich gerade meine Navigation für den Content des MainWindow ein.
    Wann ich das allerdings commiten kann weis ich noch nicht. Heut ist mein letzter Arbeitstag vorm Urlaub und da ist wieder viel los... :(
    Schaut Euch das Commit mal an...
    "Hier könnte Ihre Werbung stehen..."
    Hy

    MichaHo schrieb:

    Die Tests laufen bis auf 2 auch durch.

    Können wir uns ja wieder im Webinar ansehen.

    MichaHo schrieb:

    Probleme hatte ich noch, das Login Fenster zu schließen und das Hauptfenster zu öffnen.

    Da du innerhalb der app dann eh eher mit Contentwechse arbeitest würde ich hier für den Login das trotzdem so machen das man das Fenster schliesst und ein anderes öffnet, damit man einfach mal gesehen hat sie das geht, denn fürher oder später wirst du irgendwo einen Dialog oder ein zweites Fenster benötigen und dann kannste dort nachsehen wie das ging.

    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 Sascha,
    das mit dem schließen hab ich versucht....
    hier mal die Login Methode:

    C#-Quellcode

    1. public async Task LoginAsync(object parameter)
    2. {
    3. await RunCommandAsync(() => VmIsBusy, async () =>
    4. {
    5. var user = UserName;
    6. var pass = (parameter as IHavePassword).SecurePassword;
    7. //TODO: PeopleLogic erstellen und Methode für das auslesen einer Person mit übergebenen Zugangsdaten erstellen
    8. bool isLoginCorrect = await _peopleLogic.ArePersonCredentialsCorrect(user, pass);
    9. if (isLoginCorrect)
    10. {
    11. // Erfolgreich
    12. //TODO: Person in eine Instanz schreiben, damit Zugriff auf Personen Infos besteht
    13. IWindowService _winService = ServiceContainer.GetService<IWindowService>();
    14. //TODO: LoginFenster schließen
    15. //_winService.CloseWindow(this);
    16. _winService.OpenWindow("mainWindow", new MainWorkspace(), null);
    17. }
    18. else
    19. {
    20. // Nicht erfolgreich
    21. //TODO: Fehlerbehandlung
    22. //await _dlgService.ShowDialogAsync(this, "Falsche Zugangsdaten", "Ihre Zugangsdaten waren nicht korrekt, bitte versuchen Sie es erneut");
    23. }
    24. });
    25. }


    ich hab ja nur den einen _winService und dessen CloseWindow will das ViewModel, welches geschloßen werden soll. also in dem Falle this.
    Das klappt aber nicht, weil er es nicht findet, bzw. hat das LoginWindow keinen owner.

    Vermutlich rufe ich es in der App.xaml.cs schon falsch auf...
    "Hier könnte Ihre Werbung stehen..."
    Dann sync mal dein commit :P Haste wohl vergessen, ich sehe hier noch ne uralt-Version.

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

    Hy

    Ja, gerade gesehen das es im Original da ist, in meinem Fork ist es leider nicht, habe nun neu geforkt.

    Der "fehler" mit dem Fenster lag einfach daran das du eine NullReferenceException beim ermitteln des Fensters hattest.
    Mit folgender CloseWindow Methode sollte es passen:

    C#-Quellcode

    1. public void CloseWindow(object vm)
    2. {
    3. Window owner = Application.Current.Windows.Cast<Window>().SingleOrDefault(x => x?.DataContext?.GetType() == vm.GetType());
    4. if (owner == null)
    5. {
    6. foreach (Window window in Application.Current.Windows)
    7. {
    8. if (window.DataContext.GetType() == vm.GetType()) window.Close();
    9. }
    10. }
    11. else
    12. owner.Close();
    13. }


    Grüße
    Sascha

    PS: In diesem Thread sollten wir diese Unterhaltung aber nun unterlassen. ;)
    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 und ich hatten die Idee, wieder mal eine kleine Discord-Programmierrunde zu machen.

    Wir könnten über alles mögliche quatschen - hier mal ein paar Vorschläge von uns:

    - WPF-Tutorialreihe (wie geht es weiter?)
    - .Net 5

    Wenn Ihr noch Ideen habt könnt Ihr die gerne schreiben/sagen?
    Wann hättet Ihr denn Zeit?

    LG Florian
    ----

    WebApps mit C#: Blazor
    Hallo

    Bei mir gehts immer Abends ab ca. 18 Uhr, am Wochenende eher mehr spontan aber Abends sollte auch am Wochenende kein Problem darstellen.

    Gerne noch mehr Themen.
    PS: Da ich meine Tutorialreihe nun (endlich) auch wieder voran bringen möchte können wir auch gerne drüber plaudern da das nächste Kapitel dann ja bereits MVVM ist.

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

    Würde bei mir auch passen.
    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. ##