MVVMパターン内で「Canexecute」コールを抑制できますか
-
29-09-2019 - |
質問
WPFとMVVMパターンを使用してツリー構造を使用しています。各ノードがクリックされると、20のルートノードを作成し、子ノードを怠zyなロードすることから始めます。たとえば、以下がある場合:
Level 1
Level 1.1
Level 2
Level 3
Level 3.1
Level 3.2
レベル1、2、および3は、実行時にロードされます。レベル1.1、3.1、および3.2は、それぞれの親がクリックされるまでロードされません。 1.1以下のレベルは、親をクリックすることにより、同じ方法でロードされます。
私の問題は、レベル1.1をクリックして子供をロードすると、「Canexecute」メソッドがレベル1.1とレベル1.1の各子供のすべてのルートレベル項目がチェックされます。これは、多くの子供がいる場合、かなりの無駄な時間を引き起こします。
私の質問は、「Canexecute」への呼び出しを何らかの形で抑制できるということです。これらのサブレベルと呼ぶ必要はありません。バイパスしたいと思います。 MVVMフレームワークは非常に初めてなので、これが可能かどうかはわかりません。
解決
ビューモデルでPRISM(WPFおよびSilverlightのCompositeアプリケーションガイダンス)「DeLegateCommand」を使用する場合、Canexecuteを呼び出したい場合はいつでもCommand.raisecanexecteChangedを明示的に呼び出す必要があります。
所属していません StackOverflow