2013-04-17 37 views
8

私はWPFのWPFコマンドとイベントの違いを尋ねていました。私は議論が行われているstackoverflowの次のページに着いた。私だけで次のように理解することができる午前WPFのWPFコマンドとイベントの違いは何ですか?

What is the difference between WPF Command and Event?

が単一のコマンドは、多くのコントロールが、イベントに関連付けることができます

  • のみプレゼンテーションでのイベントながら

    1. コマンドは、ビジネス層に書き込むことができます1つのコントロールにのみ関連付けることができます。

    私は正しいですか?それ以外に違いはありますか?

  • 答えて

    5

    あなたは正しいですが、部分的にしかありません。

    1. 主な関心事は、イベントがMVVMパラダイムにうまく 適合しないことがあります。単にイベントがプラグインできないと言うだけで、イベントハンドラにバインドすることはできません。それにもかかわらず、プレゼンテーション層でコマンドを使用するのに制限はありませんが、そのような利点はありません。同様にBLLでコントロールをキャッチしてイベントハンドラをアタッチすることもできますが、この場合はさらに悪化します。
    2. いいえ。イベントハンドラは、イベント引数の型が一致する限り、 異なるコントロールに関連付けることもできます。

    また、コマンドを使用するといくつかの利点があります。たとえば、CanExecute()がfalseを返した場合、コマンド要素を使用して無効にすることができます。もう1つの利点は、コマンドを使用すると、Separation of concernsの原則に従うように強制することです。

    4

    イベントは、UIで何か起きたときに発生するトリガーです。 コマンドは、このイベントがドメインモデルによってどのように処理されるかを示します。

    関連する問題