我正在使用WPF和MVVM模式转换我现有的应用程序。 我认为我有不同的故事板。
例如。 1.加载应用程序时显示启动画面 2.单击菜单切换按钮/单选按钮以显示幻灯片并滑出动画效果 3.视图中可用的不同元素具有不同的鼠标悬停效果。
我如何使用MVVM调用故事板,哪种方法最好?为了显示鼠标效果,我们真的必须使用MVVM或代码吗?
答案 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>