WPF - ColorAnimation完成事件

时间:2009-10-01 21:54:16

标签: wpf animation coloranimation

我想在动画完成时收到通知。 但是,当我应用以下代码时,我收到以下错误

“无法在样式中的Target标记上指定事件'已完成'。请改用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>

1 个答案:

答案 0 :(得分:4)

我认为问题在于WPF无法“聪明地”在ListViewItem上连接OnColorAnimationCompleted事件,因为它无法知道ListViewItem的类型是什么,因此它无法将OnColorAnimationCompleted订阅到Completed事件。

编辑:您可以在退出操作中执行任何操作吗?