0

WPFとMVVMパターンを使用してツリー構造を操作しています。まず、20個のルートノードを作成し、各ノードがクリックされるたびに子ノードを遅延読み込みします。たとえば...私が次の場合:

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フレームワークに非常に慣れていないので、これが可能かどうかはわかりません。

4

1 に答える 1

1

ビュー モデルで Prism(WPF および SilverLight の複合アプリケーション ガイダンス) 'DelegateCommand' を使用する場合、CanExecute を呼び出したいときはいつでも command.RaiseCanExecuteChanged を明示的に呼び出す必要があります。

于 2010-08-17T21:33:45.880 に答える