2012-03-31 4 views
0

MVVMを使用している私のWPFアプリケーションでは、コマンドのCanExecute部分が呼び出されない場合があることに気づいたので、この(種類の)メソッドが呼び出されるときに何が決定されるのだろうかと思いましたか?それはCanExecuteChanged eventを上げることによって語られたときCanExecuteコマンドの一部がすべてのケースで呼び出されることはありません。それは何を決定しますか?

答えて

1

CanExecuteがコントロールによって呼び出され、どのように正確にコントロールがCommandsを処理したい場合は、それらを再評価する(CommandParameter変更がとき、彼らは例えばまた、それを再度呼び出すことができます)それらまでですCanExecuteイベントを手動で発生させる必要があります。

+0

ありがとうございました... MVVMを使用する前よりもMVVMアプリケーションが複雑になってきていると感じましたが、簡単に問題を解決する方法はありません。 –

+0

@MichelKeijzers:MVVMにはいくつかのオーバーヘッドがありますが、それは報われます。また、MVVMフレームワークによっては、ある領域を他の領域よりも優れたものにするものもあります。 –

+0

はい、私は知っています...これまでのところ、私のアプリケーションはMVVMに完全には適していないにもかかわらず、欠点よりも利点があると思います。 –