VisualStateManager.GoToStateCore Method

Definition

Transitions a control between states.

protected:
 virtual bool GoToStateCore(System::Windows::FrameworkElement ^ control, System::Windows::FrameworkElement ^ stateGroupsRoot, System::String ^ stateName, System::Windows::VisualStateGroup ^ group, System::Windows::VisualState ^ state, bool useTransitions);
protected virtual bool GoToStateCore (System.Windows.FrameworkElement control, System.Windows.FrameworkElement stateGroupsRoot, string stateName, System.Windows.VisualStateGroup group, System.Windows.VisualState state, bool useTransitions);
abstract member GoToStateCore : System.Windows.FrameworkElement * System.Windows.FrameworkElement * string * System.Windows.VisualStateGroup * System.Windows.VisualState * bool -> bool
override this.GoToStateCore : System.Windows.FrameworkElement * System.Windows.FrameworkElement * string * System.Windows.VisualStateGroup * System.Windows.VisualState * bool -> bool
Protected Overridable Function GoToStateCore (control As FrameworkElement, stateGroupsRoot As FrameworkElement, stateName As String, group As VisualStateGroup, state As VisualState, useTransitions As Boolean) As Boolean

Parameters

control
FrameworkElement

The control to transition between states.

stateGroupsRoot
FrameworkElement

The root element that contains the VisualStateManager.

stateName
String

The name of the state to transition to.

group
VisualStateGroup

The VisualStateGroup that the state belongs to.

state
VisualState

The representation of the state to transition to.

useTransitions
Boolean

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

Returns

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

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 transitioning 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 and returns true.

  • If stateName does not exist in the ControlTemplate of control, GoToState takes no action and returns false.

You can implement your own VisualStateManager to provide different logic for transitioning between states. For example, you can change the logic described previously, or you can provide logic to transition between custom animation types. To implement a VisualStateManager, create a class that inherits from VisualStateManager and override the GoToStateCore method. To use the custom class, set the CustomVisualStateManager property to an object of your custom type.

Applies to