Partage via


VisualStateManager.GoToStateCore Méthode

Définition

En cas de substitution dans une classe dérivée, effectue la transition d’un contrôle entre les états.

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

Paramètres

control
Control

Contrôle à passer d'un état à l'autre.

templateRoot
FrameworkElement

Élément racine du controlTemplate du contrôle.

stateName
String

Platform::String

winrt::hstring

Nom du nouvel état vers lequel effectuer la transition.

group
VisualStateGroup

VisualStateGroup auquel l’état appartient.

state
VisualState

La représentation de l'état vers lequel effectuer la transition.

useTransitions
Boolean

bool

true pour utiliser un VisualTransition pour passer d’un état à l’autre ; sinon, false.

Retours

Boolean

bool

true si le contrôle passe correctement au nouvel état ; sinon, false.

Remarques

Cette API fait partie du scénario de définition d’un comportement VisualStateManager personnalisé. La substitution de GoToStateCore modifie le comportement d’état dans votre comportement de classe personnalisée.

Pour référencer votre classe VisualStateManager personnalisée, définissez la valeur de la propriété jointe VisualStateManager.CustomVisualStateManager dans n’importe quel modèle de contrôle où vous souhaitez utiliser le comportement de classe VisualStateManager personnalisé. Vous créez généralement une instance de la classe VisualStateManager personnalisée via la construction XAML par défaut dans Application.Resources. Ensuite, la propriété jointe VisualStateManager.CustomVisualStateManager est définie à l’aide d’une référence d’extension de balisage {StaticResource} à la clé de la ressource VisualStateManager personnalisée.

Remarques à l’attention des héritiers

Lorsqu’un consommateur de votre classe VisualStateManager personnalisée appelle GoToState pour modifier l’état visuel d’un contrôle, il s’agit du comportement par défaut que vous remplacez : + Si le VisualState nommé par stateName a un Storyboard, le storyboard commence.

  • Si le VisualState utilisé par le contrôle avant l’état nouvellement demandé a un storyboard, ce storyboard s’arrête. Si un VisualState pour stateName n’existe pas dans le groupe, votre implémentation doit retourner false.

Si le contrôle se trouve déjà dans le VisualState demandé en tant que stateName, votre implémentation doit retourner true.

Pour plus d’informations sur le comportement par défaut, consultez GoToState.

Événements pour les changements d’état visuel

CurrentStateChanging se déclenche lorsque le contrôle commence à passer à des états comme demandé par l’appel GoToState . Si un VisualTransition est appliqué au changement d’état, cet événement se produit lorsque la transition commence.

CurrentStateChanged se déclenche une fois que le contrôle est dans l’état demandé par l’appel GoToState , tout comme le nouveau Storyboard commence. Aucun événement n’est déclenché lors de l’achèvement du nouveau storyboard.

Si un VisualTransition n’est pas appliqué, CurrentStateChanging et CurrentStateChanged se déclenchent successivement rapidement, mais sont garantis dans cet ordre si les deux se produisent.

Toutefois, si une transition de changement d’état est interrompue par un nouvel appel GoToState , l’événement CurrentStateChanged n’est jamais déclenché pour la première transition d’état. Une nouvelle série d’événements est déclenchée pour le prochain changement d’état demandé.

La substitution du comportement de RaiseCurrentStateChanged et RaiseCurrentStateChanging est facultative : comment et quand les événements sont déclenchés par l’implémentation par défaut peuvent être appropriés pour votre classe personnalisée.

S’applique à

Voir aussi