@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
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы