Как: отключить (и снова включить) триггер события ToggleButton (раскадровка - двойная анимация) - PullRequest
0 голосов
/ 07 сентября 2018

У меня есть кнопка ToggleButton, которая при нажатии выдвигается, чтобы пользователь мог проверить / отредактировать скопированный URL (текстовое поле в кнопке) (буфер обмена). Затем снова нажимается кнопка ToggleButton, которая запускает различные проверки URL-адресов и возвращается в исходное начальное положение. Это работает отлично. (код ниже).

Что я действительно хотел бы сделать, это отключить этот триггер. Я хочу, чтобы кнопка не «выдвигалась», потому что при следующем нажатии она будет загружена. Поэтому я пытаюсь найти способ отключить триггер. Когда файл загрузится, все в порядке, я снова включу триггер в состояние, в котором он был изначально.

Стиль переключателя начинается следующим образом (в моем Application.xaml:

<Style x:Key="ToggleButtonURL" TargetType="{x:Type ToggleButton}">

Устанавливает различные свойства цвета / шрифта и интересующие триггеры:

                <Style.Triggers>
            <EventTrigger RoutedEvent="Checked">
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation From="-554" To="0" Duration="0:0:0.2" Storyboard.TargetProperty="(Canvas.Left)" AutoReverse="False" />
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
            <EventTrigger RoutedEvent="Unchecked">
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation From="0" To="-554" Duration="0:0:0.150" Storyboard.TargetProperty="(Canvas.Left)" AutoReverse="False" />
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
        </Style.Triggers>

Я просто пытаюсь найти способ включить / отключить этот триггер из кода. Спасибо за помощь.

1 Ответ

0 голосов
/ 07 сентября 2018

Попробуйте установить e.Handled = true для аргумента вашего события только в том случае, если вы не хотите, чтобы анимация запускалась. Если это все еще бьет вас быстрым движением входа-выхода, тогда используйте PreviewEvent вместо прямого события.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...