VisualState 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示控件处于特定状态时的视觉外观。
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
- 继承
- 属性
示例
以下示例在已调用的集合中创建一个VisualStateGroupButton,并添加VisualState状态、NormalPressed和MouseOver对象的对象。ControlTemplateCommonStates 该示例还定义了一个称为
<!--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对象,但它们通常用于某个ControlTemplateControl对象。 有关如何为现有控件创建 ControlTemplate 对象的信息 VisualState ,请参阅 如何为控件创建模板。 有关在外部ControlTemplate使用VisualState对象的示例,请参阅该VisualStateManager类。
构造函数
| 名称 | 说明 |
|---|---|
| VisualState() |
初始化 VisualState 类的新实例。 |
属性
| 名称 | 说明 |
|---|---|
| DependencyObjectType |
获取包装 DependencyObjectType 此实例的 CLR 类型。 (继承自 DependencyObject) |
| Dispatcher |
获取与此DispatcherDispatcherObject关联的值。 (继承自 DispatcherObject) |
| IsSealed |
获取一个值,该值指示此实例当前是否密封(只读)。 (继承自 DependencyObject) |
| Name |
获取或设置 . 的名称 VisualState。 |
| Storyboard |
获取或设置一个值, Storyboard 该值定义控件处于由该 VisualState控件表示的状态时的外观。 |