VisualStateManager.GoToStateCore Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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 GoToStateCore
modifie le comportement d’état dans le comportement de votre 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 personnalisée VisualStateManager
. Vous créez généralement une instance de la classe personnalisée VisualStateManager
via la construction XAML par défaut dans Application.Resources. Ensuite, la propriété jointe est définie à l’aide VisualStateManager.CustomVisualStateManager
d’une référence d’extension de balisage {StaticResource} à la clé de la ressource personnalisée VisualStateManager
.
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 ,group
votre implémentation doit retournerfalse
. - Si le contrôle est déjà dans le VisualState demandé en tant que
stateName
, votre implémentation doit retournertrue
.
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.