#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>