4
我想在动画完成时收到通知。 但是,当我应用以下代码时,出现以下错误WPF - ColorAnimation完成事件
“事件'已完成'无法在样式中的目标标记上指定,请使用EventSetter。
<Style x:Key="CredentialEntryListViewItemStyle" TargetType="{x:Type ListViewItem}" BasedOn="{StaticResource alternatingListViewItem}">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="VerticalContentAlignment" Value="Stretch" />
<Style.Triggers>
<DataTrigger Binding="{Binding IsDuplicated}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation AutoReverse="True"
RepeatBehavior="2x"
Completed="OnColorAnimationCompleted"
Storyboard.TargetProperty="Foreground.(SolidColorBrush.Color)"
To="Orange" Duration="0:0:0.3"/>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
谢谢! 我遇到的真正问题是,一旦动画完成,我想要将控件的颜色强制为原始颜色。原因是,如果动画在短时间内多次启动,颜色将不会恢复为原始颜色。解决我的问题是FillBehavior停止。 “通过将FillBehavior设置为”停止“,您可以告诉动画在其达到活动期限结束后停止影响其目标属性。” 感谢您的回答,它帮助我更了解WPF。 干杯! – Terenced 2009-10-02 14:21:07