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
)

Parameters

control
Type: System.Windows.FrameworkElement

The control to transition between states.

stateName
Type: System.String

The state to transition to.

useTransitions
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
ArgumentNullException

control is null.

-or-

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);
    }
    else
    {
        VisualStateManager.GoToState(this, "Negative", useTransitions);
    }

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

}

.NET Framework
Available since 4.0
Return to top
Show: