фокусировка кнопки xaml с наведением курсора мыши на кнопку

#wpf #xaml

#wpf #xaml

Вопрос:

Я создал стиль кнопки для своего проекта. Я хочу, чтобы кнопка мигала, когда пользователь наводит на нее курсор. Я делаю это с помощью этого кода:

 <Trigger Property="IsMouseOver" Value="True">
    <Trigger.EnterActions>
        <BeginStoryboard>
            <Storyboard>
                <ColorAnimation Storyboard.TargetProperty="Background.Color" Duration="0:0:0.2" From="#808000" To="#ffaec9" RepeatBehavior="Forever" AutoReverse="True"/>
             </Storyboard>
         </BeginStoryboard>
     </Trigger.EnterActions>
</Trigger>
  

Я также хочу, чтобы пользовательская кнопка фокусировки также мигала. Но если я создам аналогичный код для свойства isFocused, он не будет работать так, как я хочу. Могу ли я использовать конкатенацию свойств в атрибуте свойства триггера тега? Могу ли я создать последовательность триггеров (trigger1 работает, если он работал до tringer2 и не будет работать, если сработал trigger3)?

Комментарии:

1. Почему вы не рассматриваете мульти-триггеры или визуальные менеджеры состояний в WPF?

Ответ №1:

используйте это состояние, оно будет работать на вашей кнопке

 <VisualState x:Name="MouseOver">
      <Storyboard>
         <DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="(UIElement.Effect).(DropShadowEffect.Opacity)" Storyboard.TargetName="Background" d:IsOptimized="True"/>
      </Storyboard>
</VisualState>