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元素,Foreground该元素在 属性为 true
时更改按钮的 IsPressed 属性。
<Style x:Key="Triggers" TargetType="Button">
<Style.Triggers>
<Trigger Property="IsPressed" Value="true">
<Setter Property = "Foreground" Value="Green"/>
</Trigger>
</Style.Triggers>
</Style>
注解
WPF 定义与最终用户操作对应的属性,例如IsMouseOver当用户将光标悬停在 或 的对应IsMouseOver属性上UIElement时设置为 true
的属性ContentElement。 通过表示属性值中的最终用户操作以及 Trigger 元素,WPF 样式可以基于这些最终用户操作更改属性值,所有这些操作都是从标记内部完成的。
当不再满足触发条件时,触发器更改的属性会自动重置为其以前的值。 触发器针对预期更改并返回到原始状态的暂时性状态进行了优化,例如 IsPressed on Button 和 IsSelected on ListBoxItem。 Property感兴趣的 必须是依赖属性。
请注意,必须在 上Trigger指定 Property 和 Value 属性,触发器才能有意义。 如果未设置其中一个或两个属性,则会引发异常。
对象的 Setters 属性 Trigger 只能由 对象组成 Setter 。 Setter向 对象添加子Trigger级会将其隐式添加到 对象的 。SetterBaseCollectionTrigger EventSetter 不支持 对象;仅 Style.Setters 支持 EventSetter 对象。
还有其他类型的触发器。 MultiTrigger 允许根据多个属性的状态应用更改。 EventTrigger 允许在事件发生时应用更改。 DataTrigger 和 MultiDataTrigger 用于数据绑定属性。
构造函数
Trigger() |
初始化 Trigger 类的新实例。 |
属性
DependencyObjectType |
DependencyObjectType获取包装此实例的 CLR 类型的 。 (继承自 DependencyObject) |
Dispatcher |
获取与此 Dispatcher 关联的 DispatcherObject。 (继承自 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() |
用信号通知对象初始化已完成。 |