У меня есть приложение WPF и CheckBox с тремя состояниями.Я создал собственный шаблон для флажка и хочу анимировать его как слайдер (двигайте слайдер влево и вправо).Я создал ползунок и установил триггеры:
<ControlTemplate TargetType="{x:Type CheckBox}">
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Trigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource SwitchOn}" />
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard Storyboard="{StaticResource SwitchOff}" />
</Trigger.ExitActions>
</Trigger>
<Trigger Property="IsChecked" Value="False">
<Trigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource SwitchOff}" />
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard Storyboard="{StaticResource SwitchOn}" />
</Trigger.ExitActions>
</Trigger>
<Trigger Property="IsChecked" Value="{x:Null}">
<Trigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource SwitchMiddle}" />
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard Storyboard="{StaticResource SwitchOff}" />
</Trigger.ExitActions>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
Этот стиль, примененный к флажку с двумя состояниями, отлично работает при переключении флажка в таком цикле: включить -> выключить ... и т. Д.
Но когда я применяю его к флажку с тремя состояниями, цикл анимации работает хорошо (что мне нужно) только один раз: включить -> переключить середину ->выключить
И после этого цикл повторяется так: выключить -> переключить среднее -> выключить -> выключить -> переключить среднее ...
Я пробовал много разных комбинаций действий входа и выхода, но безуспешно.Как правильно создать триггеры ожидаемого поведения?Спасибо!