Я создал собственный шаблон стиля/управления для элемента управления ToggleButton, который делает его похожим на Toggle Switch.Как оживить элемент внутри родителя в WPF
В настоящее время я использую Trigger on IsChecked, чтобы установить HorizontalAlignment переключателя влево или вправо.
Однако это не очень хороший пользовательский интерфейс.
Когда элемент управления переходит в проверенное визуальное состояние, я хочу, чтобы переключатель был анимирован/сдвинут вправо, а когда он переходит в визуальное состояние Unchecked, я хочу, чтобы переключатель анимировал/сдвинулся влево.
Вот суперпростой взгляд на XAML в шаблоне управления.
<Grid x:Name="RootElement">
...
<Grid x:Name="SwitchElement">
<Grid.RenderTransform>
<TranslateTransform/>
</Grid.RenderTransform>
...
</Grid>
</Grid>
Как я могу идти о создании раскадровки/анимации для SwitchElement так, что он переводит к вписываться в ширину RootElement?
Я ценю вашу помощь!
Что вы подразумеваете под контролем/неконтролируемым визуальным состоянием? Вы имеете в виду, что у вас есть флажок, который будет показывать/скрывать элемент или при каких обстоятельствах вы хотите, чтобы поле переключало позиции? – CalebB
В ControlTemplate есть VisualStateManager, который использует VisualStateGroups для организации отдельных VisualState (s). Для элемента управления ToggleButton существуют два визуальных состояния, когда элемент управления «Проверено» или «Отключено». – keithernet
Отредактировано, чтобы сделать мою цель надежно яснее. – keithernet