VisualStateManager.GoToStateCore Método

Definición

Cuando se invalida en una clase derivada, realiza una transición de un control entre estados.

protected:
 virtual bool GoToStateCore(Control ^ control, FrameworkElement ^ templateRoot, Platform::String ^ stateName, VisualStateGroup ^ group, VisualState ^ state, bool useTransitions) = GoToStateCore;
bool GoToStateCore(Control const& control, FrameworkElement const& templateRoot, winrt::hstring const& stateName, VisualStateGroup const& group, VisualState const& state, bool const& useTransitions);
protected virtual bool GoToStateCore(Control control, FrameworkElement templateRoot, string stateName, VisualStateGroup group, VisualState state, bool useTransitions);
function goToStateCore(control, templateRoot, stateName, group, state, useTransitions)
Protected Overridable Function GoToStateCore (control As Control, templateRoot As FrameworkElement, stateName As String, group As VisualStateGroup, state As VisualState, useTransitions As Boolean) As Boolean

Parámetros

control
Control

Control del que se va a realizar la transición entre estados.

templateRoot
FrameworkElement

Elemento raíz de la clase ControlTemplate del control.

stateName
String

Platform::String

winrt::hstring

Nombre del estado al que se realiza la transición.

group
VisualStateGroup

VisualStateGroup al que pertenece el estado.

state
VisualState

Representación del estado al que se va a realizar la transición.

useTransitions
Boolean

bool

true para usar visualTransition para realizar la transición entre estados; de lo contrario, false.

Devoluciones

Boolean

bool

true si el control realiza correctamente la transición al nuevo estado; de lo contrario, false.

Comentarios

Esta API forma parte del escenario de definición de un comportamiento personalizado de VisualStateManager . La invalidación de GoToStateCore cambia el comportamiento de estado en el comportamiento de la clase personalizada.

Para hacer referencia a la clase VisualStateManager personalizada, establezca el valor de la propiedad adjunta VisualStateManager.CustomVisualStateManager dentro de cualquier plantilla de control en la que desee usar el comportamiento personalizado de la clase VisualStateManager . Normalmente, creas una instancia de la clase VisualStateManager personalizada a través de la construcción XAML predeterminada en Application.Resources. A continuación, la propiedad adjunta VisualStateManager.CustomVisualStateManager se establece mediante una referencia de extensión de marcado {StaticResource} a la clave del recurso visualStateManager personalizado.

Notas a los heredadores

Cuando un consumidor de la clase VisualStateManager personalizada llama a GoToState para cambiar el estado visual de un control, este es el comportamiento predeterminado que va a invalidar:+ Si visualState denominado por stateName tiene un guión gráfico, comienza el guión gráfico.

  • Si el objeto VisualState que el control usaba antes del estado recién solicitado tiene un guión gráfico, ese guión gráfico se detiene. Si no existe un visualState para stateName en el grupo, la implementación debe devolver false.

Si el control ya está en visualState solicitado como stateName, la implementación debe devolver true.

Para obtener más información sobre el comportamiento predeterminado, consulta GoToState.

Eventos para cambios de estado visual

CurrentStateChanging se desencadena cuando el control comienza a realizar la transición de estados según lo solicitado por la llamada a GoToState . Si se aplica visualTransition al cambio de estado, este evento se produce cuando comienza la transición.

CurrentStateChanged se activa después de que el control esté en el estado según lo solicitado por la llamada a GoToState , al igual que comienza el nuevo Guión gráfico . No se desencadena ningún evento en la finalización del nuevo guión gráfico.

Si no se aplica visualTransition , CurrentStateChanging y CurrentStateChanged se activan en sucesión rápida, pero se garantizan en ese orden si se producen ambos.

Sin embargo, si una nueva llamada a GoToState interrumpe una transición de cambio de estado, el evento CurrentStateChanged nunca se genera para la primera transición de estado. Se desencadena una nueva serie de eventos para el siguiente cambio de estado solicitado.

Reemplazar el comportamiento de RaiseCurrentStateChanged y RaiseCurrentStateChanging es opcional: cómo y cuándo se generan los eventos por la implementación predeterminada podría ser adecuado para la clase personalizada.

Se aplica a

Consulte también