Trigger 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示应用属性值或有条件地执行操作的触发器。
public ref class Trigger : System::Windows::TriggerBase, System::Windows::Markup::IAddChild
public ref class Trigger : System::Windows::TriggerBase, System::ComponentModel::ISupportInitialize, System::Windows::Markup::IAddChild
[System.Windows.Markup.ContentProperty("Setters")]
public class Trigger : System.Windows.TriggerBase, System.Windows.Markup.IAddChild
[System.Windows.Markup.ContentProperty("Setters")]
[System.Windows.Markup.XamlSetTypeConverter("ReceiveTypeConverter")]
public class Trigger : System.Windows.TriggerBase, System.ComponentModel.ISupportInitialize, System.Windows.Markup.IAddChild
[<System.Windows.Markup.ContentProperty("Setters")>]
type Trigger = class
inherit TriggerBase
interface IAddChild
[<System.Windows.Markup.ContentProperty("Setters")>]
[<System.Windows.Markup.XamlSetTypeConverter("ReceiveTypeConverter")>]
type Trigger = class
inherit TriggerBase
interface IAddChild
interface ISupportInitialize
[<System.Windows.Markup.ContentProperty("Setters")>]
[<System.Windows.Markup.XamlSetTypeConverter("ReceiveTypeConverter")>]
type Trigger = class
inherit TriggerBase
interface ISupportInitialize
interface IAddChild
Public Class Trigger
Inherits TriggerBase
Implements IAddChild
Public Class Trigger
Inherits TriggerBase
Implements IAddChild, ISupportInitialize
- 继承
- 属性
- 实现
示例
以下示例显示了可用于Button控件的命名Style对象。 定义Style一个Trigger元素,该元素在IsPressed属性为true时更改Foreground按钮的属性。
<Style x:Key="Triggers" TargetType="Button">
<Style.Triggers>
<Trigger Property="IsPressed" Value="true">
<Setter Property = "Foreground" Value="Green"/>
</Trigger>
</Style.Triggers>
</Style>
注解
WPF 定义与最终用户操作对应的属性,例如IsMouseOver当用户将光标悬停在UIElement某个或相应IsMouseOver属性上时设置true的属性ContentElement。 表示属性值中的最终用户操作以及 Trigger 元素允许 WPF 样式根据这些最终用户操作(全部在标记内)更改属性值。
当不再满足触发条件时,触发器更改的属性会自动重置为其以前的值。 触发器针对预期会更改并返回到原始状态(例如 IsPressed 打开 Button 和 IsSelected 打开 ListBoxItem)的暂时性状态进行了优化。 Property相关属性必须是依赖属性。
请注意,必须为触发器指定 Property 属性和 Value 属性 Trigger 才能有意义。 如果未设置一个或两个属性,则会引发异常。
对象的 Setters 属性 Trigger 只能包含 Setter 对象。 向 Setter 对象添加子级 Trigger 会隐式将其添加到 SetterBaseCollection 该 Trigger 对象的子级。 EventSetter 不支持对象;仅 Style.Setters 支持 EventSetter 对象。
有其他类型的触发器。 MultiTrigger 允许根据多个属性的状态应用更改。 EventTrigger 允许在事件发生时应用更改。 DataTrigger 用于 MultiDataTrigger 数据绑定属性。
构造函数
| 名称 | 说明 |
|---|---|
| Trigger() |
初始化 Trigger 类的新实例。 |
属性
| 名称 | 说明 |
|---|---|
| DependencyObjectType |
获取包装 DependencyObjectType 此实例的 CLR 类型。 (继承自 DependencyObject) |
| Dispatcher |
获取与此DispatcherDispatcherObject关联的值。 (继承自 DispatcherObject) |
| EnterActions |
获取在触发器对象处于活动状态时要应用的对象集合 TriggerAction 。 此属性不适用于类 EventTrigger 。 (继承自 TriggerBase) |
| ExitActions |
获取在触发器对象变为非活动状态时要应用的对象集合 TriggerAction 。 此属性不适用于类 EventTrigger 。 (继承自 TriggerBase) |
| IsSealed |
获取一个值,该值指示此实例当前是否密封(只读)。 (继承自 DependencyObject) |
| Property |
获取或设置返回与 Value 触发器属性进行比较的值的属性。 比较是引用相等性检查。 |
| Setters |
获取对象的集合,该集合 Setter 描述满足指定条件时要应用的属性值。 |
| SourceName |
获取或设置对象的名称,该对象具有导致应用关联的 setter 的属性。 |
| Value |
获取或设置要与元素的属性值进行比较的值。 比较是引用相等性检查。 |
方法
显式接口实现
| 名称 | 说明 |
|---|---|
| IAddChild.AddChild(Object) |
添加子对象。 |
| IAddChild.AddText(String) |
将节点的文本内容添加到对象。 |
| ISupportInitialize.BeginInit() |
指示初始化正在启动的对象。 |
| ISupportInitialize.EndInit() |
向对象发出初始化完成的信号。 |