Condividi tramite


VisualStateManager.GoToStateCore Metodo

Definizione

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

Boolean

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 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.

Si applica a

Vedi anche