如何使用MVVM启动动画?

时间:2010-06-12 04:26:35

标签: wpf mvvm

我正在使用WPF和MVVM模式转换我现有的应用程序。 我认为我有不同的故事板。

例如。 1.加载应用程序时显示启动画面        2.单击菜单切换按钮/单选按钮以显示幻灯片并滑出动画效果        3.视图中可用的不同元素具有不同的鼠标悬停效果。

我如何使用MVVM调用故事板,哪种方法最好?为了显示鼠标效果,我们真的必须使用MVVM或代码吗?

1 个答案:

答案 0 :(得分:1)

对于问题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>