FrameworkElement.GoToElementStateCore(String, Boolean) 方法

定义

在派生类中实现时,为代码中的控件模板启用可视化树的按状态构造,而不是通过在控件启动时加载所有状态的 XAML。

protected:
 virtual bool GoToElementStateCore(Platform::String ^ stateName, bool useTransitions) = GoToElementStateCore;
bool GoToElementStateCore(winrt::hstring const& stateName, bool const& useTransitions);
protected virtual bool GoToElementStateCore(string stateName, bool useTransitions);
function goToElementStateCore(stateName, useTransitions)
Protected Overridable Function GoToElementStateCore (stateName As String, useTransitions As Boolean) As Boolean

参数

stateName
String

Platform::String

winrt::hstring

要转换到的状态。

useTransitions
Boolean

bool

若要 使用 VisualTransition 在状态之间转换,则为 true。 如果为 false ,则使用转换跳过,并直接转到请求的状态。 默认值为 false

返回

Boolean

bool

如果控件成功转换为新状态,或已使用该状态,则为 true;否则为 false

注解

FrameworkElement.GoToElementStateCore 的默认实现提供通过调用 VisualStateManager.GoToState 访问的正常状态更改行为,以及任何 XAML 控件的默认控件模板/视觉状态加载行为。 如果准备在运行时为代码中的控件构造可视化树,则只应重写 FrameworkElement.GoToElementStateCore。 这包括呈现来自内容属性、子元素集合等的任何内容。

对于自定义控件中的常规状态更改逻辑,应使用 VisualStateManager.GoToState。 FrameworkElement.GoToElementStateCore 的预期方案更加有限,它专门用于想要优化模板或逻辑的应用或控件,这些模板或逻辑创建 ListViewItemGridViewItem 的可视化树并显示内容。

VisualStateManager.GoToState 的签名略有不同,因为它是一个静态实用工具 API,并使用 控件 参数来指定要应用状态更改的控件。 FrameworkElement.GoToElementStateCore 使用调用对象来获取此信息。

适用于

另请参阅