Partilhar via


VisualStateManager.GoToState(FrameworkElement, String, Boolean) Método

Definição

Faz a transição do controle entre dois estados. Use este método para estados de transição no controle que tem um 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

Parâmetros

control
FrameworkElement

O controle para fazer a transição entre estados.

stateName
String

O estado para fazer a transição.

useTransitions
Boolean

true para usar um objeto VisualTransition para fazer a transição entre estados, caso contrário, false.

Retornos

true se o controle fizer a transição para o novo estado com êxito, caso contrário, false.

Exceções

control é null.

- ou -

stateName é null.

Exemplos

O exemplo a seguir demonstra um controle que usa o método para fazer a GoToState transição entre estados. Para ver todo o exemplo, consulte Criando um controle que tem uma aparência personalizável.

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

Comentários

Chame o GoToState método se você estiver alterando estados em um controle que usa o VisualStateManager em seu ControlTemplate. Chame o GoToElementState método para alterar estados em um elemento fora de um ControlTemplate (por exemplo, se você usar um VisualStateManager em um UserControl ou em um único elemento).

Aplica-se a