WPF でコマンド モデルを使用する主な利点は何だろうと思っています。私は Windows フォームと MFC から来ており、常にイベント ハンドラーでコードを記述していました。
1 に答える
コマンドを使用すると、(インターフェイスのCanExecute
メンバーを介して) どの UI 要素を有効にするかどうかを簡単に管理できます。ICommand
同じコマンドをいくつかの場所にプラグインしたり、別のコマンドからコマンドを呼び出したりすることもできます。これは、私の意見では、イベントよりも構造的にクリーンです。
コマンドを使用すると、実際のユーザーが UI をクリックするのと同じくらい近いテストをコーディングできます (ここでもCanExecute
、コマンドのメンバーを使用すると、ifcommand A
とそれに関連付けられたコントロールが の実行に対して計画どおりに反応するかを簡単に確認できますcommand B
) 。
メンテナンスの面では、以前に取り組んだことのないプロジェクトに立ち寄るとき<Button Name="SomeButton" Command="{Binding SaveClientDataCommand} />
よりも、マークアップを読んだときにアプリケーションが何をするかを理解しやすくなります。<Button Name="SomeButton" OnClick="SomeButton_Click" />
MVVM パターンを使用すると、ロジックをビューからビューモデルに移動できます。
これらのポイントの多くは、実際には個人的な好みや意見に関するものですが、同じことを行う方法がいくつかある場合はよくあります. 車輪は再発明されておらず、イベントベースのプログラミングでは不可能だったコマンドでできることはおそらく何もありませんが、はるかにクリーンで維持しやすいと感じています.