WPF - 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 ответ

Решение

Я думаю, что проблема заключается в том, что WPF не может "умно" подключить ваше событие OnColorAnimationCompleted к вашему ListViewItem, потому что у него нет возможности узнать тип вашего ListViewItem, и поэтому он не может подписать OnColorAnimationCompleted на событие Completed.

Изменить: Можете ли вы сделать все, что вам нужно сделать в действиях выхода???

Другие вопросы по тегам