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.

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

Boolean

Значение 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 элемент или в одном элементе).

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