VisualStateManager.GoToState Method (System.Windows)

Switch View :
ScriptFree
.NET Framework Class Library for Silverlight
VisualStateManager.GoToState Method

Transitions the control between two states.

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

Visual Basic (Declaration)
Public Shared Function GoToState ( _
	control As Control, _
	stateName As String, _
	useTransitions As Boolean _
) As Boolean
C#
public static bool GoToState(
	Control control,
	string stateName,
	bool useTransitions
)

Parameters

control
Type: System.Windows.Controls.Control
The control to transition between states.
stateName
Type: System.String
The state to transition to.
useTransitions
Type: System.Boolean
true to use a VisualTransition to transition between states; otherwise, false.

Return Value

Type: System.Boolean
true if the control successfully transitioned to the new state; otherwise, false.
Exceptions

Exception Condition
ArgumentNullException

control is null.

ArgumentNullException

stateName is null.

Remarks

The GoToStateCore method performs the logic necessary to appropriately start and stop the storyboards that are associated with a transition. When a control calls GoToState to change its state, the VisualStateManager does the following:

  • First, if the VisualState that the control is going to has a Storyboard, the storyboard begins. Then, if the VisualState that the control is coming from has a Storyboard, the storyboard ends.

  • If the control is already in the stateName state, GoToState takes no action returns true.

  • If stateName doesn't exist in the ControlTemplate of control, GoToState takes no action and returns false.

Examples

The following example demonstrates a control using the GoToStateCore method to transition between states. For the entire example, see How to: Create a New Control by Creating a ControlTemplate.

Visual Basic

Private Sub UpdateStates(ByVal useTransitions As Boolean)
    If Value >= 0 Then
        VisualStateManager.GoToState(Me, "Positive", useTransitions)
    Else
        VisualStateManager.GoToState(Me, "Negative", useTransitions)
    End If

    If isFocused Then
        VisualStateManager.GoToState(Me, "Focused", useTransitions)
    Else
        VisualStateManager.GoToState(Me, "Unfocused", useTransitions)
    End If

End Sub


C#

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);
    }

}


Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

See Also

Reference

Other Resources