必要がない場合でも、常にコマンドを使用する必要がありますか?
または、クリックすると同じコードが実行されるメニュー項目、ボタンなど、より多くのものを使用する場合にのみ Command を使用する必要がありますか?
常に Command を使用するのが良い方法かもしれませんし、不必要な複雑さが追加されるかもしれません。私はWPFが初めてなので、アドバイスを共有してください。
必要がない場合でも、常にコマンドを使用する必要がありますか?
または、クリックすると同じコードが実行されるメニュー項目、ボタンなど、より多くのものを使用する場合にのみ Command を使用する必要がありますか?
常に Command を使用するのが良い方法かもしれませんし、不必要な複雑さが追加されるかもしれません。私はWPFが初めてなので、アドバイスを共有してください。
すべての深刻な WPF アプリケーションで必須である MVVM パターンを使用している場合、純粋なインターフェイス ロジックではないすべてのアクションには、'ICommand' が適しています。
説明します:
おそらくご存知のように、MVVM パターンはモデル、ビューモデル、およびビューを区別し、ビューモデルはモデルとビューの間を仲介します。ViewModel は通常、ビューによって消費され、ビューをバインドするすべてのデータを保持します。重要なことは次のとおりです。
ビューはビューモデルに依存しません
つまり、View は ViewModel にバインドされていますが、ViewModel を参照していません。ViewModel への論理的な依存関係はありません。「ICommand」はこのギャップを埋めます。アクションをバインド可能なプロパティにパックするようなものです。それが主なポイントです。おそらく次のとおりです。
コマンドは、アクションまたは関数を WPF のデータバインド可能なプロパティにラップします。
また、データバインディングは MVVM で View と ViewModel が相互に接続されるメカニズムであるため、コマンドは、純粋な UI の範囲を超えて、1 つのコントロールによってトリガーされた場合でも複数のコントロールによってトリガーされた場合でも、すべてのアクションを実行するための手段です。 (これはほとんどすべてです):
ここ (MSDN)をご覧ください。この画像は次の場所から取得されています。
MVVM を使用しない場合、コマンドが必要かどうかはわかりません。UI イベント処理に関しては、WinForms との大きな違いはありません。しかし、繰り返しになりますが、私の意見では、MVVM と WPF は密接に関係しています。