Ich bin der Meinung, dass die MVVM-Community wie die OO-Programmierer in den 90er Jahren übereifrig geworden ist. Es handelt sich um eine falsche Bezeichnung. MVVM ist synonym mit keinem Code. Aus meiner geschlossenen StackOverflow-Frage :
Oft stoße ich hier auf Posts über jemanden, der versucht, das Äquivalent in XAML anstelle von Code dahinter zu machen. Ihr einziger Grund ist, dass sie ihren Code hinter "clean" halten wollen. Korrigieren Sie mich, wenn ich falsch liege, aber nicht, dass:
XAML wird ebenfalls kompiliert - in BAML - und muss dann zur Laufzeit ohnehin in Code umgewandelt werden. XAML kann möglicherweise mehr Laufzeitfehler aufweisen, da diese vom Compiler beim Kompilieren nicht erkannt werden - aufgrund falscher Schreibweise - und diese Fehler auch schwerer zu beheben sind. Es ist bereits Code dahinter - wie es oder nicht InitializeComponent (); muss ausgeführt werden und die .gics-Datei enthält eine Menge Code, obwohl sie möglicherweise versteckt ist. Ist es rein psychologisch? Ich vermute, es sind Entwickler, die aus einem Web-Hintergrund kommen und Markup im Gegensatz zu Code mögen.
BEARBEITEN: Ich schlage keinen Code hinter XAML vor - verwende beide - ich ziehe es vor, meine Bindung auch in XAML vorzunehmen - ich bin einfach dagegen, alle Anstrengungen zu unternehmen, um das Schreiben von Code hinter esp in einer WPF-App zu vermeiden - es sollte eine Fusion von sein beides, um das Beste daraus zu machen.
UPDATE: Es ist nicht einmal Microsofts Idee, jedes Beispiel auf MSDN zeigt, wie Sie es in beiden machen können.