VisualStateManager.GoToState Method
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Transitions the control between two states.
Assembly: System.Windows (in System.Windows.dll)
'Declaration Public Shared Function GoToState ( _ control As Control, _ stateName As String, _ useTransitions As Boolean _ ) As Boolean
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.Booleantrue if the control successfully transitioned to the new state; otherwise, false.
| Exception | Condition |
|---|---|
| ArgumentNullException | control is Nothing. |
| ArgumentNullException | stateName is Nothing. |
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.
The following example demonstrates a control using the GoToStateCore method to transition between states.
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