Search code examples
wpfslidervisualstatemanagerpressed

WPF Slider VisualStateManager


I'm trying to do my own Slider Style in XAML, but i don't get it quite right. The VisualState x:Name="Pressed" is not being triggered.

...
<ControlTemplate TargetType="Slider">
    <Grid>
        <VisualStateManager.VisualStateGroups>
            <VisualStateGroup Name="CommonStates">
                <VisualState Name="Normal" />
                <VisualState Name="MouseOver">
                    ...
                </VisualState>
                <VisualState Name="Pressed">
                    <Storyboard>
                        <ColorAnimation Storyboard.TargetName="RepeatButtonValueBrush" Storyboard.TargetProperty="Color" To="{StaticResource PressedValueColor}" Duration="0"/>
                        <ColorAnimation Storyboard.TargetName="RepeatButtonRestBrush" Storyboard.TargetProperty="Color" To="{StaticResource PressedTrackColor}" Duration="0"/>
                    </Storyboard>
                </VisualState>
                <VisualState Name="Disabled">
                    ...
            </VisualStateGroup>
        </VisualStateManager.VisualStateGroups>
        ...
    </Grid>
</ControlTemplate>
...

What am I doing wrong?

Thanks


Solution

  • You need to call the VisualStateManager.GoToState method to change visual states. See this VisualStateManager and Triggers article.