プロジェクトにMVVMパターンを適用します。私はViewModelによって公開されたコマンドにバインドされたボタンを持つUserControlを持っています。 ボタンが表示されているので、ボタンのCanExecuteメソッドを継続的に呼び出しています。何かは、これはパフォーマンスのペナルティを運ぶと私に言うが、私はよくわからない。これは期待される行動ですか?またはボタンをコマンドにバインドするより良い方法がありますか?コマンドで連続CanExecute呼び出しのパフォーマンスペナルティ
ありがとうございます。
なぜ、CanExecuteを呼び出すボタンが連続しているのですか?これはデフォルトでは行われません。また、 'ICommand.CanExecuteChanged'が呼び出されたときにのみ行うべきです。 – Jens
どのようなタイプのICommandを使用していますか?異なる実装は、CanExecuteの更新に関して多くの点で異なった動作をする可能性があります。 –
私は通常のICommandインターフェイスを使用しています。実際はRelayCommandクラスです。これは、デリゲート注入を使用してメソッドを指定することを除いて、何も特別なものではありません。 –