VisualStateManager.GoToStateCore Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Wenn sie in einer abgeleiteten Klasse überschrieben wird, übergibt ein Steuerelement zwischen den Zuständen.
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
Parameter
- control
- Control
Das Steuerelement, das zwischen den Zuständen wechselt.
- templateRoot
- FrameworkElement
Das Stammelement der ControlTemplate des Steuerelements.
- stateName
-
String
Platform::String
winrt::hstring
Der Name des Zugängenzustands.
- group
- VisualStateGroup
Die VisualStateGroup , zu der der Status gehört.
- state
- VisualState
Die Darstellung des Zugängenzustands.
- useTransitions
-
Boolean
bool
trueverwenden, um eine VisualTransition für den Übergang zwischen Zuständen zu verwenden; andernfalls . false
Gibt zurück
bool
truewenn das Steuerelement erfolgreich in den neuen Zustand wechselt; andernfalls . false
Hinweise
Diese API ist Teil des Szenarios zum Definieren eines benutzerdefinierten VisualStateManager-Verhaltens . Durch das Überschreiben wird das Zustandsverhalten GoToStateCore in Ihrem benutzerdefinierten Klassenverhalten geändert.
Um auf Die benutzerdefinierte VisualStateManager-Klasse zu verweisen, legen Sie den Wert der angefügten Eigenschaft "VisualStateManager.CustomVisualStateManager " innerhalb einer Steuerelementvorlage fest, in der Sie das verhalten der benutzerdefinierten VisualStateManager Klasse verwenden möchten. In der Regel erstellen Sie eine Instanz der benutzerdefinierten VisualStateManager Klasse über die standardmäßige XAML-Konstruktion in Application.Resources. Anschließend wird die VisualStateManager.CustomVisualStateManager angefügte Eigenschaft mithilfe eines {StaticResource}-Markuperweiterungsverweises auf den Schlüssel der benutzerdefinierten VisualStateManager Ressource festgelegt.
Hinweise zu Vererbungen
Wenn ein Consumer Ihrer benutzerdefinierten VisualStateManager-KlasseGoToState aufruft, um den visuellen Zustand eines Steuerelements zu ändern, ist dies das Standardverhalten, das Sie außer Kraft setzen:+ Wenn visualState wie benannt von stateName einem Storyboard verfügt, beginnt das Storyboard.
- Wenn der VisualState , den das Steuerelement vor dem neu angeforderten Zustand verwendet hat, über ein Storyboard verfügt, wird dieses Storyboard beendet.
- Wenn in der
groupImplementierung kein VisualState-ElementstateNamevorhanden ist, sollte die Implementierung zurückgegeben werdenfalse. - Wenn sich das Steuerelement bereits in visualState befindet, das
stateNameangefordert wurde, sollte die Implementierung zurückgegeben werdentrue.
Weitere Informationen zum Standardverhalten finden Sie unter GoToState.
Ereignisse für Änderungen des visuellen Zustands
CurrentStateChanging wird ausgelöst, wenn das Steuerelement mit dem Übergang von Status beginnt, wie vom GoToState-Aufruf angefordert. Wenn eine VisualTransition auf die Zustandsänderung angewendet wird, tritt dieses Ereignis auf, wenn der Übergang beginnt.
CurrentStateChanged wird ausgelöst, nachdem sich das Steuerelement im Zustand befindet, wie vom GoToState-Aufruf angefordert, genauso wie das neue Storyboard beginnt. Beim Abschluss des neuen Storyboards wird kein Ereignis ausgelöst.
Wenn eine VisualTransition nicht angewendet wird, wird CurrentStateChanging und CurrentStateChanged schnell hintereinander ausgelöst, werden aber in dieser Reihenfolge garantiert, wenn beide auftreten.
Wenn jedoch ein Zustandsänderungsübergang durch einen neuen GoToState-Aufruf unterbrochen wird, wird das CurrentStateChanged-Ereignis nie für den ersten Zustandsübergang ausgelöst. Für die nächste angeforderte Zustandsänderung wird eine neue Ereignisreihe ausgelöst.
Das Überschreiben des Verhaltens von RaiseCurrentStateChanged und RaiseCurrentStateChanging ist optional: Wie und wann die Ereignisse durch die Standardimplementierung ausgelöst werden, ist möglicherweise für Ihre benutzerdefinierte Klasse geeignet.