VisualStateManager.GoToState(FrameworkElement, String, Boolean) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在控件的两种状态之间转换。 使用此方法转换具有 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
要使用 VisualTransition 对象进行状态切换,则为 true
;否则为 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如果要更改在其 中使用 中的 的控件中的ControlTemplate状态,VisualStateManager请调用 方法。 GoToElementState调用 方法以更改 (外部ControlTemplate的元素上的状态,例如,如果在 或单个元素) 中使用 VisualStateManagerUserControl 。