VisualStateManager.GoToStateCore Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Quando ne viene eseguito l'override in una classe derivata, esegue la transizione di un controllo tra stati.
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
Parametri
- control
- Control
Controllo che deve eseguire la transizione tra stati.
- templateRoot
- FrameworkElement
Elemento radice del ControlTemplate del controllo.
- stateName
-
String
Platform::String
winrt::hstring
Nome dello stato a cui eseguire la transizione.
- group
- VisualStateGroup
Oggetto VisualStateGroup a cui appartiene lo stato.
- state
- VisualState
Rappresentazione dello stato a cui eseguire la transizione.
- useTransitions
-
Boolean
bool
true per utilizzare un oggetto VisualTransition per eseguire la transizione tra stati; in caso contrario, false.
Restituisce
bool
true se il controllo passa correttamente al nuovo stato; in caso contrario, false.
Commenti
Questa API fa parte dello scenario di definizione di un comportamento di VisualStateManager personalizzato. L'override di GoToStateCore modifica il comportamento dello stato nel comportamento della classe personalizzata.
Per fare riferimento alla classe VisualStateManager personalizzata, impostare il valore della proprietà associata VisualStateManager.CustomVisualStateManager all'interno di qualsiasi modello di controllo in cui si desidera utilizzare il comportamento personalizzato della classe VisualStateManager . In genere si crea un'istanza della classe VisualStateManager personalizzata tramite la costruzione XAML predefinita in Application.Resources. La proprietà associata VisualStateManager.CustomVisualStateManager viene quindi impostata usando un riferimento all'estensione di markup {StaticResource} alla chiave della risorsa VisualStateManager personalizzata.
Note per gli eredi
Quando un consumer della classe VisualStateManager personalizzata chiama GoToState per modificare lo stato di visualizzazione di un controllo, si tratta del comportamento predefinito di cui si esegue l'override:+ Se VisualState come denominato da stateName ha uno Storyboard, inizia lo storyboard.
- Se l'oggetto VisualState utilizzato dal controllo prima dello stato appena richiesto ha uno Storyboard, lo storyboard viene arrestato. Se un oggetto VisualState per stateName non esiste nel gruppo, l'implementazione deve restituire false.
Se il controllo si trova già in VisualState richiesto come stateName, l'implementazione dovrebbe restituire true.
Per altre info sul comportamento predefinito, vedi GoToState.
Eventi per le modifiche dello stato di visualizzazione
CurrentStateChanging viene attivato quando il controllo inizia a eseguire la transizione degli stati richiesti dalla chiamata GoToState . Se un oggetto VisualTransition viene applicato alla modifica dello stato, questo evento si verifica all'inizio della transizione.
CurrentStateChanged viene attivato dopo che il controllo è nello stato richiesto dalla chiamata GoToState , proprio come inizia il nuovo storyboard . Non viene generato alcun evento al completamento del nuovo storyboard.
Se un oggetto VisualTransition non viene applicato, CurrentStateChanging e CurrentStateChanged vengono attivati in rapida successione, ma sono garantiti in tale ordine se si verificano entrambi.
Tuttavia, se una transizione di modifica dello stato viene interrotta da una nuova chiamata GoToState , l'evento CurrentStateChanged non viene mai generato per la prima transizione di stato. Viene generata una nuova serie di eventi per la modifica dello stato richiesta successiva.
L'override del comportamento di RaiseCurrentStateChanged e RaiseCurrentStateChanging è facoltativo: come e quando gli eventi vengono generati dall'implementazione predefinita potrebbero essere adeguati per la classe personalizzata.