VisualStateManager.GoToStateCore 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使控件在状态间过渡。
protected:
virtual bool GoToStateCore(System::Windows::FrameworkElement ^ control, System::Windows::FrameworkElement ^ stateGroupsRoot, System::String ^ stateName, System::Windows::VisualStateGroup ^ group, System::Windows::VisualState ^ state, bool useTransitions);
protected virtual bool GoToStateCore (System.Windows.FrameworkElement control, System.Windows.FrameworkElement stateGroupsRoot, string stateName, System.Windows.VisualStateGroup group, System.Windows.VisualState state, bool useTransitions);
abstract member GoToStateCore : System.Windows.FrameworkElement * System.Windows.FrameworkElement * string * System.Windows.VisualStateGroup * System.Windows.VisualState * bool -> bool
override this.GoToStateCore : System.Windows.FrameworkElement * System.Windows.FrameworkElement * string * System.Windows.VisualStateGroup * System.Windows.VisualState * bool -> bool
Protected Overridable Function GoToStateCore (control As FrameworkElement, stateGroupsRoot As FrameworkElement, stateName As String, group As VisualStateGroup, state As VisualState, useTransitions As Boolean) As Boolean
参数
- control
- FrameworkElement
要进行状态过渡的控件。
- stateGroupsRoot
- FrameworkElement
包含 VisualStateManager 的根元素。
- stateName
- String
要过渡到的状态的名称。
- group
- VisualStateGroup
状态所属的 VisualStateGroup。
- state
- VisualState
要过渡到的状态的表示形式。
- useTransitions
- Boolean
要使用 VisualTransition 对象进行状态切换,则为 true
;否则为 false
。
返回
如果控件已成功过渡到新状态,则为 true
;否则为 false
。
注解
该方法 GoToStateCore 执行适当启动和停止与切换关联的情节提要所需的逻辑。 当控件调用 GoToState 以更改其状态时,VisualStateManager 会执行以下操作:
首先,如果 VisualState 控件正在过渡到有一个 Storyboard,则情节提要开始。 那么,如果控件即将退出的 VisualState 具有 Storyboard,则情节提要会结束。
如果控件已处于
stateName
状态, GoToState 则不执行任何操作并返回true
。如果
stateName
不存在于 ControlTemplate 其中control
, GoToState 则不执行任何操作并返回false
。
你可以实现自己的 VisualStateManager 逻辑,以提供不同的逻辑来在状态之间转换。 例如,可以更改前面所述的逻辑,也可以提供在自定义动画类型之间进行转换的逻辑。 若要实现, VisualStateManager请创建继承自 VisualStateManager 方法并重写方法的 GoToStateCore 类。 若要使用自定义类,请将 CustomVisualStateManager 属性设置为自定义类型的对象。