VisualStateManager.GoToState(FrameworkElement, String, Boolean) Метод

Определение

Перемещает элемент управления между двумя состояниями. Используйте этот метод для перехода состояний на элемент управления с элементом 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

Параметры

control
FrameworkElement

Элемент управления для перехода между состояниями.

stateName
String

Состояние для перехода.

useTransitions
Boolean

true Значение VisualTransition , чтобы использовать объект для перехода между состояниями; в противном случае false.

Возвращаемое значение

true Значение , если элемент управления успешно перейдет в новое состояние; falseв противном случае .

Исключения

control равно null.

–или–

stateName равно null.

Примеры

В следующем примере демонстрируется элемент управления, использующий GoToState метод для перехода между состояниями. Полный пример см. в разделе "Создание элемента управления с настраиваемым внешним видом".

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

Комментарии

GoToState Вызовите метод, если вы изменяете состояния в элементе управления, который использует VisualStateManager егоControlTemplate. GoToElementState Вызовите метод для изменения состояний элемента за пределами ControlTemplate элемента (например, если вы используете VisualStateManager его в UserControl одном элементе или в одном элементе).

Применяется к