MVVMコミュニティは、90年代のOOプログラマーのように熱心になったように感じます。MVVMはコードのない同義語です。私の閉じたStackOverflow質問から:
多くの場合、コードビハインドではなくXAMLで同等のことをしようとしている人についての投稿に出くわします。彼らの唯一の理由は、コードを「クリーン」に保つことです。私が間違っている場合は修正しますが、そうではありません:
XAMLも-BAMLにコンパイルされます-その後、実行時にコードを解析する必要があります。XAMLは、コンパイル時にコンパイラによって検出されないため、より多くの実行時バグを潜在的に持つ可能性があります-誤ったスペルから、これらのバグもデバッグが困難です。すでにコードビハインドがあります-似ているか、InitializeComponent(); 実行する必要があり、その中の.gicsファイルには多くのコードが含まれていますが、非表示になっている場合があります。純粋に心理的ですか?ウェブのバックグラウンドから来て、コードではなくマークアップが好きなのは開発者だと思います。
編集:私はXAMLの代わりにコードビハインドを提案しません-両方を使用します-私はXAMLでもバインディングを行うことを好みます-私はWPFアプリでespの背後にコードを書くことを避けるためにあらゆる努力をすることに反対です-それはの融合でなければなりません両方を最大限に活用します。
更新:マイクロソフトのアイデアでさえありません。MSDNのすべての例は、両方でそれを行う方法を示しています。