Могу ли я подавить вызов «Canexecute» в рамках шаблона MVVM

StackOverflow https://stackoverflow.com/questions/3506283

  •  29-09-2019
  •  | 
  •  

Вопрос

Я работаю с древесной структурой с использованием 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, поэтому я не уверен, что это даже возможно.

Это было полезно?

Решение

Если вы используете призму (композитное руководство по приложению для WPF и Silverlight) «DelegateCommand» в модели вашего представления, вам придется явный звонок команда.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top