私はMVVMのパターンが好きで、使い始めるとハマってしまいます。
完璧な世界では、View のコード ビハインドはほとんど空 (おそらくコンストラクター内のコード) であり、View のあらゆる側面が ViewModel から操作されていることを私は知っています。
ただし、ViewModel で新しいフィールド、プロパティ、コマンドを作成すると、イベント ハンドラーで同じことを実装するよりも多くのコードが作成される場合があります。
現時点では、次のルールに固執しています。
イベント ハンドラー コードがビューのごく一部を操作する場合 (たとえば、ボタン クリック イベント ハンドラーが同じビューにある特定の TextBlock のフォントを大きくする場合)、イベント ハンドラー内にロジックを実装してもかまいません。ただし、View がビジネス ロジックを操作したり、View の外部にあるリソースにアクセスしたりする必要がある場合は、これらの責任を ViewModel に割り当てます。
私のアプローチについてどう思いますか?
イベント ハンドラーと ViewModel を使用するときに避けるべきことは何ですか?
MVVM パターンを使用する際に推奨できるベスト プラクティスは何ですか?