Как запустить анимацию с помощью MVVM? - PullRequest
1 голос
/ 12 июня 2010

Я конвертирую свое существующее приложение, используя шаблоны WPF и MVVM. На мой взгляд, у меня разные раскадровки.

например. 1. показ заставки при загрузке приложения 2. при нажатии кнопки «Переключить меню» / «Радиокнопка», чтобы отобразить эффект анимации слайдов и слайдов. 3. И другой эффект наведения мыши для разных элементов, доступных в представлении.

Как я буду называть раскадровку, используя MVVM, и какой метод лучше? Чтобы показать эффект наведения мыши, нужно ли использовать MVVM или код позади?

1 Ответ

1 голос
/ 12 июня 2010

Для вопроса 1, я не уверен, что ваши требования или лучший способ сделать это, но одна идея, вы можете использовать код, подобный # 3 ниже, но заменить <EventTrigger RoutedEvent="Mouse.MouseEnter"> на <EventTrigger RoutedEvent="Window.Loaded">

Чтобы ответить на вопрос 2. Вот как я начинаю раскадровку, когда пользователь меняет переключатель.Это все в XAML:

<CheckBox Content="Radio Button Option 1" >
     <i:Interaction.Triggers>
          <i:EventTrigger EventName="Checked">
               <im:ControlStoryboardAction Storyboard="{StaticResource NameOfStoryboardToRunOnCheck}"/>
          </i:EventTrigger>
          <i:EventTrigger EventName="Unchecked">
               <im:ControlStoryboardAction Storyboard="{StaticResource NameOfStoryboardToRunOnUnCheck}"/>
          </i:EventTrigger>
     </i:Interaction.Triggers>
</CheckBox>

Для вопроса 3 приведен пример OnMouseOver

<UserControl.Triggers>
     <EventTrigger RoutedEvent="Mouse.MouseEnter">
          <BeginStoryboard Storyboard="{StaticResource MouseOverStoryboard}" />
     </EventTrigger>
     <EventTrigger RoutedEvent="Mouse.MouseLeave">
          <BeginStoryboard Storyboard="{StaticResource MouseLeaveStoryboard}" />
     </EventTrigger>
</UserControl.Triggers>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...