Transitions the control between two states.
Namespace: System.Windows
Assembly: System.Windows (in System.Windows.dll)
Public Shared Function GoToState ( _ control As Control, _ stateName As String, _ useTransitions As Boolean _ ) As Boolean
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.Booleantrue if the control successfully transitioned to the new state; otherwise, false.
| Exception | Condition |
|---|---|
| ArgumentNullException |
control is null. |
| ArgumentNullException |
stateName is null. |
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. For the entire example, see How to: Create a New Control by Creating a ControlTemplate.
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
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); } }
Silverlight
Supported in: 5, 4, 3Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.