MVVM OpenSource Communityprojekt - HomeStorage

  • WPF

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

    Hi @Nofear23m, Sorry, bin diese Woche ziemlich eingespannt.
    Ich hab mal gaaaaanz grob eine Oberfläche gemacht. Im Grunde fände ich das Menü links ganz schön, unten drunter vielleicht eine Statusbar und rechts dann platz für die verschiedenen Views je nach gedrücktem Button.
    "Hier könnte Ihre Werbung stehen..."
    Hallo @MichaHo

    Super, damit fangen wir schon mal was an. Muss ja nicht final sein. Also halten wir es am Anfang simpel.

    Gut, dann mach ich mal ein einfaches ViewModel und stelle das mal Online. Dann machen wir weiter.

    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,
    beim übersetzen nach C# hab ich an einer Stzelle ein Problem und komme nicht so recht weiter.
    In der Klasse RelayCommand.vb hast Du folgende Methode:

    VB.NET-Quellcode

    1. Protected Overridable Sub OnCanExecuteChanged()
    2. If ((Not (_synchronizationContext) Is Nothing) _
    3. AndAlso (_synchronizationContext IsNot SynchronizationContext.Current)) Then
    4. _synchronizationContext.Post(Sub() RaiseEvent CanExecuteChanged(Me, EventArgs.Empty), Nothing)
    5. Else
    6. RaiseEvent CanExecuteChanged(Me, EventArgs.Empty)
    7. End If
    8. End Sub


    Das habe ich nach C# so übersetzt:

    C#-Quellcode

    1. protected virtual void OnCanExecuteChanged()
    2. {
    3. if (!(_synchronizationContext == null) && (_synchronizationContext != SynchronizationContext.Current))
    4. _synchronizationContext.Post(() => CanExecuteChanged?.Invoke(this, EventArgs.Empty), null);
    5. else
    6. CanExecuteChanged?.Invoke(this, EventArgs.Empty);
    7. }

    mir wird da _synchronizationContext.Post(() => CanExecuteChanged?.Invoke(this, EventArgs.Empty), null); rot untergringelt und als Fehler: Delegat "SendOrPostCallback" nimmt keine 0 Arghumente an

    Was hab ich da falsch gemacht? Das SendOrPostCallback verlangt ein object als Argument, das hab ich aber doch übergeben?
    "Hier könnte Ihre Werbung stehen..."

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „MichaHo“ ()

    Ahhh, Ok, das probiere ich aus.
    Danke Dir @ErfinderDesRades.

    @Nofear23m
    was mir beim übersetzen noch aufgefallen ist. Wofür genau sind die beiden Klassen PropertyObserver und PropertyObserverNode.
    Die überwachen die Properties, klar, aber wann und wo setzen wir das ein?
    "Hier könnte Ihre Werbung stehen..."

    MichaHo schrieb:

    Wofür genau sind die beiden Klassen PropertyObserver und PropertyObserverNode.

    Das wird im Grunde auf der kompletten Seite 4 hier in diesem Thread besprochen. Unter .Net Standard muss die RelayCommand Klasse anders aussehen wie in einer "Normalen" WPF Anwendung da kein CommandManager zur Verfügung steht. Lese dir am besten die Seite 4 durch.

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