动画结束后,我需要更改对象的属性。
当我读到“完成”时我很高兴,但是当我尝试时:
<Storyboard>
<ColorAnimation
Storyboard.TargetProperty="(Background).(SolidColorBrush.Color)"
To="RoyalBlue"
Duration="0:0:1"
Completed="ColorAnimation_Completed"/>
</Storyboard>
我有:
无法在样式的目标标签上指定事件“已完成”。请改用EventSetter。
在这种情况下如何创建EventSetter?
最佳答案
如果是以某种样式设置的,则可以将情节提要板设置为当前正在使用的任何控件的静态资源:
<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>
您需要在此处填写一些变量,因为我对您正在做的事情还没有足够的了解,但这是可行的。