Куда идет логика представления для шаблона View-Model-ViewModel? - PullRequest
0 голосов
/ 21 мая 2009

В View-Model-ViewModel действия по существу выполняются моделью представления, связанной с представлением. Тем не менее, куда пойдет «логика представления», так как код позади не используется, и у модели представления нет ссылки или знания элемента управления, который ее вызвал?

Например, что если я хочу анимировать другой элемент управления при нажатии кнопки. Будет ли это идти в коде позади?

1 Ответ

2 голосов
/ 21 мая 2009

Чтобы расширить комментарий Джастина Нисснера , я бы использовал триггер для достижения этой анимации, так как он полностью связан с пользовательским интерфейсом.

Подумайте об этом:

  • Куда бы вы поместили код, чтобы, когда кто-то наводил мышку на кнопку, он подсвечивался?
  • А как насчет кода для "нажатия" этой кнопки при нажатии?

Это и ваш вопрос - все варианты темы, поэтому я бы сказал, сделайте это в графическом интерфейсе.

Однако есть одно исключение из этого правила. Если «анимация» - это анимация обработки, то, возможно, стоит связать ее с ViewModel, чтобы ViewModel могла контролировать продолжительность анимации, пока она что-то обрабатывает. В противном случае сделайте это в графическом интерфейсе.

РЕДАКТИРОВАТЬ: на основе вашего комментария. Итак, анимация должна запускаться из свойства ViewModel, а не события нажатия кнопки. Click должен начать обработку в ViewModel с помощью команды, а код выполнения для этой команды должен установить свойство флага обработки в ViewModel. Затем представление может связываться с этим флагом обработки и отображать индикатор выполнения или что-либо еще, когда этот флаг установлен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...