Windows apps
Collapse the table of content
Expand the table of content
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

VisualStateManager.GoToState Method (FrameworkElement, String, Boolean)

.NET Framework (current version)

Transitions the control between two states. Use this method to transition states on control that has a ControlTemplate.

Namespace:   System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)

public static bool GoToState(
	FrameworkElement control,
	string stateName,
	bool useTransitions


Type: System.Windows.FrameworkElement

The control to transition between states.

Type: System.String

The state to transition to.

Type: System.Boolean

true to use a VisualTransition object to transition between states; otherwise, false.

Return Value

Type: System.Boolean

true if the control successfully transitioned to the new state; otherwise, false.

Exception Condition

control is null.


stateName is null.

Call the GoToState method if you are changing states in a control that uses the VisualStateManager in its ControlTemplate. Call the GoToElementState method to change states on an element outside of a ControlTemplate (for example, if you use a VisualStateManager in a UserControl or in a single element).

The following example demonstrates a control that uses the GoToState method to transition between states. For the entire example, see Creating a Control That Has a Customizable Appearance.

private void UpdateStates(bool useTransitions)
    if (Value >= 0)
        VisualStateManager.GoToState(this, "Positive", useTransitions);
        VisualStateManager.GoToState(this, "Negative", useTransitions);

    if (IsFocused)
        VisualStateManager.GoToState(this, "Focused", useTransitions);
        VisualStateManager.GoToState(this, "Unfocused", useTransitions);


.NET Framework
Available since 4.0
Return to top
© 2017 Microsoft