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, fait passer 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 de l’état vers lequel effectuer la transition.
- group
- VisualStateGroup
VisualStateGroup auquel appartient l’état.
- state
- VisualState
Représentation de l’état vers lequel effectuer la transition.
- useTransitions
-
Boolean
bool
true pour utiliser visualTransition pour passer d’un état à l’autre ; sinon, false.
Retours
bool
true si le contrôle passe correctement à l’état nouveau ; sinon, false.
Remarques
Cette API fait partie du scénario de définition d’un comportement VisualStateManager personnalisé. La substitution modifie le comportement d’état dans le comportement de GoToStateCore 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 dans lequel vous souhaitez utiliser le comportement de classe personnalisé VisualStateManager . Vous créez généralement une instance de la classe personnalisée VisualStateManager par le biais de la construction XAML par défaut dans Application.Resources. Ensuite, la VisualStateManager.CustomVisualStateManager propriété jointe est définie à l’aide d’une référence d’extension de balisage {StaticResource} à la clé de la ressource personnalisée VisualStateManager .
Remarques pour les 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 VisualState tel qu’il est nommé par stateName un Storyboard, le storyboard commence.
- Si l’état VisualState utilisé par le contrôle avant l’état nouvellement demandé a un storyboard, ce storyboard s’arrête.
- Si visualState n’existe
stateNamepas dans legroupfichier , votre implémentation doit retournerfalse. - Si le contrôle se trouve déjà dans 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 modifications 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 au début de la transition.
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é sur la fin du nouveau storyboard.
Si un VisualTransition n’est pas appliqué, CurrentStateChanging et CurrentStateChanged se déclenchent en succession rapide, mais sont garantis dans cet ordre si les deux se produisent.
Toutefois, si une transition de modification 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 la modification d’état demandée suivante.
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 adéquats pour votre classe personnalisée.