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 等的级别以相同的方式加载,通过单击其父级。

我的问题是,当我单击 Level 1.1 加载其子级时,会检查 Level 1.1 的“CanExecute”方法以及 Level 1.1 的每个子级的所有根级项目。如果有很多孩子,这会导致相当多的时间浪费。

我的问题是,我可以以某种方式抑制对“CanExecute”的调用吗?我不需要将其称为这些子级别,我想绕过它。我对 MVVM 框架非常陌生,所以我不确定这是否可能。

4

1 回答 1

1

如果您在视图模型中使用 Prism(WPF 和 SilverLight 的复合应用程序指南)“DelegateCommand”,则无论何时要调用 CanExecute,都必须显式调用 command.RaiseCanExecuteChanged。

于 2010-08-17T21:33:45.880 回答