通过


Trigger 类

定义

表示应用属性值或有条件地执行操作的触发器。

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 打开 ButtonIsSelected 打开 ListBoxItem)的暂时性状态进行了优化。 Property相关属性必须是依赖属性。

请注意,必须为触发器指定 Property 属性和 Value 属性 Trigger 才能有意义。 如果未设置一个或两个属性,则会引发异常。

对象的 Setters 属性 Trigger 只能包含 Setter 对象。 向 Setter 对象添加子级 Trigger 会隐式将其添加到 SetterBaseCollectionTrigger 对象的子级。 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

获取或设置要与元素的属性值进行比较的值。 比较是引用相等性检查。

方法

名称 说明
CheckAccess()

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

(继承自 DispatcherObject)
ClearValue(DependencyProperty)

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

(继承自 DependencyObject)
ClearValue(DependencyPropertyKey)

清除只读属性的本地值。 要清除的属性由一个 DependencyPropertyKey.

(继承自 DependencyObject)
CoerceValue(DependencyProperty)

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

(继承自 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)
ReceiveTypeConverter(Object, XamlSetTypeConverterEventArgs)

处理类型转换器为对象的属性 Trigger 提供值的情况。

SetCurrentValue(DependencyProperty, Object)

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

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

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

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

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

(继承自 DependencyObject)
ShouldSerializeProperty(DependencyProperty)

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

(继承自 DependencyObject)
ToString()

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

(继承自 Object)
VerifyAccess()

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

(继承自 DispatcherObject)

显式接口实现

名称 说明
IAddChild.AddChild(Object)

添加子对象。

IAddChild.AddText(String)

将节点的文本内容添加到对象。

ISupportInitialize.BeginInit()

指示初始化正在启动的对象。

ISupportInitialize.EndInit()

向对象发出初始化完成的信号。

适用于