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
.
Исключения
Примеры
В следующем примере демонстрируется элемент управления, использующий 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 элемент или в одном элементе).