Задать вопрос
@IseeCollapse

Почему свойство AutoReverse не возвращает в исходный цвет при многократном срабатывании триггера?

При многократном срабатывании триггера цвет бордера не возвращается в базовый, в чем дело?
<Border.Triggers>
                                    <EventTrigger RoutedEvent="MouseEnter">
                                        <BeginStoryboard>
                                            <Storyboard>
                                                <ColorAnimation To="CadetBlue" Duration="0:0:0.5" Storyboard.TargetProperty="Background.Color" AutoReverse="True"/>
                                            </Storyboard>
                                        </BeginStoryboard>
                                    </EventTrigger>
                                </Border.Triggers>
  • Вопрос задан
  • 44 просмотра
Подписаться Простой Комментировать
Решения вопроса 1
@IseeCollapse Автор вопроса
Корректно рабочей реализацией является:
<Border.Triggers>
                                    <Trigger Property="IsMouseOver" Value="True">
                                      <Trigger.EnterAction>
                                        <BeginStoryboard>
                                            <Storyboard>
                                                <ColorAnimation To="CadetBlue" Duration="0:0:0.5" Storyboard.TargetProperty="Background.Color"/>
                                            </Storyboard>
                                        </BeginStoryboard>
                                      </Trigger.EnterAction>
                                     <Trigger.ExitAction>
                                        <BeginStoryboard>
                                            <Storyboard>
                                                <ColorAnimation To="Black" Duration="0:0:0.5" Storyboard.TargetProperty="Background.Color"/>
                                            </Storyboard>
                                        </BeginStoryboard>
                                      </Trigger.ExitAction>
                                    </Trigger>
                                </Border.Triggers>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@SZolotov
Asp.net core, MAUI,WPF,Qt, Avalonia
У вас анимация секунду в оба конца выполняться будет, если не ошибаюсь, что не очень хорошо т.к. анимации freezable. Возможно в этом проблема.
Возможные пути решения:
  1. Попробовать уменьшить время анимации
  2. Решить задачу без анимации. Тут прям напрашивается использование visual states
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы