Sdílet prostřednictvím


VisualStateManager.GoToState(FrameworkElement, String, Boolean) Metoda

Definice

Přemísní ovládací prvek mezi dvěma stavy. Tuto metodu použijte k přechodu stavů na ovládacím prvku, který má 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

Parametry

control
FrameworkElement

Ovládací prvek pro přechod mezi stavy.

stateName
String

Stav, na který se má přechod provést.

useTransitions
Boolean

true použít VisualTransition objekt k přechodu mezi stavy; falsev opačném případě .

Návraty

Boolean

true pokud řízení úspěšně přešlo do nového stavu; falsev opačném případě .

Výjimky

control je null.

-nebo- stateName je null.

Příklady

Následující příklad ukazuje ovládací prvek, který používá metodu GoToState pro přechod mezi stavy. Celý příklad naleznete v tématu Vytvoření ovládacího prvku, který má přizpůsobitelný vzhled.

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

Poznámky

Volejte metodu GoToState , pokud měníte stavy v ovládacím prvku, který používá VisualStateManager v jeho ControlTemplate. Zavolá metodu, GoToElementState která změní stavy u elementu mimo ControlTemplate prvek (například pokud použijete VisualStateManager v UserControl jednom prvku nebo v jednom prvku).

Platí pro