Ich mag das MVVM-Muster, wenn man einmal damit angefangen hat, wird man süchtig danach.
Ich weiß, dass in der perfekten Welt Ihre View-Code-Behind ist fast leer (vielleicht einige Code im Konstruktor) und jeder Aspekt der Ansicht wird von ViewModel manipuliert.
Aber es gibt Zeiten, in denen das Erstellen von neuen Feldern, Eigenschaften und Befehlen im ViewModel mehr Code erzeugt als die Implementierung derselben Sache im Event-Handler.
Im Moment halte ich mich an folgende Regel:
Wenn der Event-Handler-Code nur einen sehr kleinen Teil der View manipuliert (z.B. erhöht der Button-Click-Event-Handler die Schriftart eines bestimmten TextBlocks, der sich in der gleichen View befindet), dann ist es in Ordnung, die Logik innerhalb der Event-Handler zu implementieren. Aber wenn View Geschäftslogik manipulieren oder auf Ressourcen zugreifen muss, die außerhalb der View liegen, dann weise ich diese Verantwortlichkeiten dem ViewModel zu.
Was halten Sie von meinem Ansatz?
Was versuchen Sie zu vermeiden, wenn Sie Event-Handler und ViewModel verwenden?
Welche Best Practices können Sie bei der Verwendung des MVVM-Musters empfehlen?