VisualState 类

定义

表示控件处于特定状态时的视觉外观。

public ref class VisualState : System::Windows::DependencyObject
[System.Windows.Markup.ContentProperty("Storyboard")]
[System.Windows.Markup.RuntimeNameProperty("Name")]
public class VisualState : System.Windows.DependencyObject
[<System.Windows.Markup.ContentProperty("Storyboard")>]
[<System.Windows.Markup.RuntimeNameProperty("Name")>]
type VisualState = class
    inherit DependencyObject
Public Class VisualState
Inherits DependencyObject
继承
属性

示例

以下示例在名为 CommonStatesButtonControlTemplate 中创建 VisualStateGroup,并为状态、NormalPressedMouseOver添加 VisualState 对象。 Button 还定义了一个名为“Disabled”的状态,该状态位于 CommonStatesVisualStateGroup中,但该示例省略该状态是为了简洁起见。 有关整个示例,请参阅 通过创建 ControlTemplate自定义现有控件的外观。

  <!--Define the states and transitions for the common states.
      The states in the VisualStateGroup are mutually exclusive to
      each other.-->
  <VisualStateGroup x:Name="CommonStates">

    <!--The Normal state is the state the button is in
        when it is not in another state from this VisualStateGroup.-->
    <VisualState x:Name="Normal" />

    <!--Change the SolidColorBrush, BorderBrush, to red when the
        mouse is over the button.-->
    <VisualState x:Name="MouseOver">
      <Storyboard>
        <ColorAnimation Storyboard.TargetName="BorderBrush" 
                        Storyboard.TargetProperty="Color" 
                        To="Red" />
      </Storyboard>
    </VisualState>

    <!--Change the SolidColorBrush, BorderBrush, to Transparent when the
        button is pressed.-->
    <VisualState x:Name="Pressed">
      <Storyboard>
        <ColorAnimation Storyboard.TargetName="BorderBrush" 
                        Storyboard.TargetProperty="Color"
                        To="Transparent"/>
      </Storyboard>
    </VisualState>

    <!--The Disabled state is omitted for brevity.-->
  </VisualStateGroup>
</VisualStateManager.VisualStateGroups>

注解

VisualState 指定控件处于特定状态时的外观。 例如,当按下 Button 时,其边框可能与普通颜色不同。 VisualState 类具有更改控件外观的 Storyboard 属性。 当控件进入由 VisualState.Name 属性指定的状态时,Storyboard 将开始。 当控件退出状态时,Storyboard 将停止。

VisualStateGroup.States 属性包含 VisualState 对象。 VisualStateGroup 对象添加到 VisualStateManager.VisualStateGroups 附加属性中,该属性在 FrameworkElement上定义。 可以将 VisualState 对象添加到任何 FrameworkElement,但它们通常用于 ControlControlTemplate。 有关如何为现有控件创建 ControlTemplateVisualState 对象的信息,请参阅 通过创建 ControlTemplate自定义现有控件的外观。 有关在 ControlTemplate外部使用 VisualState 对象的示例,请参阅 VisualStateManager 类。

构造函数

VisualState()

初始化 VisualState 类的新实例。

属性

DependencyObjectType

获取包装此实例的 CLR 类型的 DependencyObjectType

(继承自 DependencyObject)
Dispatcher

获取与此 DispatcherObject 关联的 Dispatcher

(继承自 DispatcherObject)
IsSealed

获取一个值,该值指示此实例当前是否密封(只读)。

(继承自 DependencyObject)
Name

获取或设置 VisualState的名称。

Storyboard

获取或设置一个 Storyboard,该值定义控件在处于由 VisualState表示的状态时的外观。

方法

CheckAccess()

确定调用线程是否有权访问此 DispatcherObject

(继承自 DispatcherObject)
ClearValue(DependencyProperty)

清除属性的本地值。 要清除的属性由 DependencyProperty 标识符指定。

(继承自 DependencyObject)
ClearValue(DependencyPropertyKey)

清除只读属性的本地值。 要清除的属性由 DependencyPropertyKey指定。

(继承自 DependencyObject)
CoerceValue(DependencyProperty)

强制指定依赖属性的值。 这是通过在调用 DependencyObject上调用依赖属性的属性元数据中指定的任何 CoerceValueCallback 函数来实现的。

(继承自 DependencyObject)
Equals(Object)

确定提供的 DependencyObject 是否等效于当前 DependencyObject

(继承自 DependencyObject)
GetHashCode()

获取此 DependencyObject的哈希代码。

(继承自 DependencyObject)
GetLocalValueEnumerator()

创建一个专用枚举器,用于确定哪些依赖项属性在此 DependencyObject上具有本地设置的值。

(继承自 DependencyObject)
GetType()

获取当前实例的 Type

(继承自 Object)
GetValue(DependencyProperty)

返回此 DependencyObject实例上的依赖属性的当前有效值。

(继承自 DependencyObject)
InvalidateProperty(DependencyProperty)

重新评估指定依赖属性的有效值。

(继承自 DependencyObject)
MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

每当更新此 DependencyObject 上任何依赖属性的有效值时调用。 在事件数据中报告更改的特定依赖属性。

(继承自 DependencyObject)
ReadLocalValue(DependencyProperty)

返回依赖属性的本地值(如果存在)。

(继承自 DependencyObject)
SetCurrentValue(DependencyProperty, Object)

设置依赖项属性的值,而不更改其值源。

(继承自 DependencyObject)
SetValue(DependencyProperty, Object)

设置依赖属性的本地值,由依赖属性标识符指定。

(继承自 DependencyObject)
SetValue(DependencyPropertyKey, Object)

设置由依赖属性的 DependencyPropertyKey 标识符指定的只读依赖属性的本地值。

(继承自 DependencyObject)
ShouldSerializeProperty(DependencyProperty)

返回一个值,该值指示序列化进程是否应序列化所提供的依赖属性的值。

(继承自 DependencyObject)
ToString()

返回一个表示当前对象的字符串。

(继承自 Object)
VerifyAccess()

强制调用线程有权访问此 DispatcherObject

(继承自 DispatcherObject)

适用于