Freigeben über


VisualStateManager.GoToState(FrameworkElement, String, Boolean) Methode

Definition

Führt Übergang des Steuerelements von einem Zustand in einen anderen durch. Verwenden Sie diese Methode für Übergänge zwischen Zuständen in Steuerelementen mit ControlTemplate.

public:
 static bool GoToState(System::Windows::FrameworkElement ^ control, System::String ^ stateName, bool useTransitions);
public static bool GoToState (System.Windows.FrameworkElement control, string stateName, bool useTransitions);
static member GoToState : System.Windows.FrameworkElement * string * bool -> bool
Public Shared Function GoToState (control As FrameworkElement, stateName As String, useTransitions As Boolean) As Boolean

Parameter

control
FrameworkElement

Das Steuerelement, dessen Zustand gewechselt werden soll.

stateName
String

Der Zustand, in den der Übergang durchgeführt wird.

useTransitions
Boolean

true, wenn ein VisualTransition-Objekt für den Zustandsübergang verwendet werden soll, andernfalls false.

Gibt zurück

true, wenn der Zustand des Steuerelements erfolgreich gewechselt wurde, andernfalls false.

Ausnahmen

control ist null.

- oder -

stateName ist null.

Beispiele

Im folgenden Beispiel wird ein Steuerelement veranschaulicht, das die GoToState -Methode verwendet, um zwischen Zuständen zu wechseln. Das gesamte Beispiel finden Sie unter Erstellen eines Steuerelements mit anpassbarer Darstellung.

private void UpdateStates(bool useTransitions)
{
    if (Value >= 0)
    {
        VisualStateManager.GoToState(this, "Positive", useTransitions);
    }
    else
    {
        VisualStateManager.GoToState(this, "Negative", useTransitions);
    }

    if (IsFocused)
    {
        VisualStateManager.GoToState(this, "Focused", useTransitions);
    }
    else
    {
        VisualStateManager.GoToState(this, "Unfocused", useTransitions);
    }
}
Private Sub UpdateStates(ByVal useTransitions As Boolean)

    If Value >= 0 Then
        VisualStateManager.GoToState(Me, "Positive", useTransitions)
    Else
        VisualStateManager.GoToState(Me, "Negative", useTransitions)
    End If

    If IsFocused Then
        VisualStateManager.GoToState(Me, "Focused", useTransitions)
    Else
        VisualStateManager.GoToState(Me, "Unfocused", useTransitions)

    End If
End Sub

Hinweise

Rufen Sie die GoToState -Methode auf, wenn Sie die Zustände in einem -Steuerelement ändern, das den VisualStateManager in seinem ControlTemplateverwendet. Rufen Sie die GoToElementState -Methode auf, um die Zustände für ein Element außerhalb eines ControlTemplate zu ändern (z. B. wenn Sie einen VisualStateManager in einem UserControl oder in einem einzelnen Element verwenden).

Gilt für: