我需要在动画结束后更改对象的属性。当我读到“完成”的时候,我很高兴,但当我尝试的时候:
<Storyboard>
<ColorAnimation
Storyboard.TargetProperty="(Background).(SolidColorBrush.Color)"
To="RoyalBlue"
Duration="0:0:1"
Completed="ColorAnimation_Completed"/>
</Storyboard>我得到了:
不能在Style中的Target标记上指定事件“Completed”。请改用EventSetter。
在这种情况下如何创建EventSetter?
发布于 2014-10-29 02:52:38
如果这是在样式中设置的,您可以将情节提要设置为当前使用的任何控件的静态资源:
<UserControl.Resources>
<storyboard x:Key"Animation">
<ColorAnimation
Storyboard.TargetProperty="(Background).(SolidColorBrush.Color)"
To="RoyalBlue"
Duration="0:0:1"
Completed="ColorAnimation_Completed"/>
</Storyboard>
</UserControl.Resources>然后,在你的控制下:
<Style x:Name="Style" TargetType="{x:Type yourcontroltype}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=whatevertriggeresyouranimation}" Value="triggerValue" >
<DataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource Animation}">
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>您需要在这里填写几个变量,因为我看不到您正在做的事情,但这将会起作用。
https://stackoverflow.com/questions/23897985
复制相似问题