2009-06-17 2 views
6

Пользователи любят анимацию. Посмотрите iphone для хорошего примера :) Все, что пользователь делает в iphone, запускает анимацию.MVVM, анимация и командование - лучший способ начать анимацию?

Введите MVVM и Commanding (я думаю о Silverlight 2 конкретно). Действие пользователя запускает событие через Commanding, и мы сидим в ViewModel, думая о том, как вызвать приятную анимацию для пользователя ...

Есть некоторые возможности, но я не нашел их из них особенно со вкусом.

  • Немного MVP. Попросите View реализовать интерфейс, а затем попросите VM вызвать метод в представлении, чтобы запустить анимацию.
  • В Silverlight 3 Actions/Behaviors может быть своего рода ответом, но я пытаюсь найти наилучший подход для SL 2.
  • Сделайте hokey анимации с виртуальной машины, где вы обновляете (через таймер) свойства связывания чтобы все произошло ... Довольно неудобно.

У кого-нибудь был хороший успех с подходом?

ответ

1

Как правило, я использую события для запуска анимации из режима просмотра в Silverlight 2

+0

Любые хорошие примеры этого? Я предполагаю, что представление выражает событие (возможно, через интерфейс сортировки MVP), а VM запускает событие в соответствующее время. Вы нашли хороший способ связать события? Почему бы не вызвать метод прямого доступа на интерфейсе View (при условии MVP)? лол. У меня много вопросов :) –

+0

Видмодель был фактически тем, кто стрелял в это событие. Идея заключается в том, что viewmodel не должен ничего знать о представлении. Тогда представление обработает событие. Я уверен, что интерфейс тоже будет работать. Я видел это много с Model View Presenter. Я не был так доволен любым методом. Надеюсь, кто-то придет с чем-то лучшим :-) Это лучшая статья, которую я когда-либо читал о событиях (включая следующие комментарии) http://geekswithblogs.net/HouseOfBilz/archive/2009/02/15/re- thinking-c-events.aspx – zachary

+0

Спасибо. Я думаю, что SL 3 (Behaviors) собирается открыть некоторые возможности в будущем. Проблема в жесткой SL 2. –

Смежные вопросы