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元素,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 ButtonIsSelected on ListBoxItemProperty感兴趣的 必须是依赖属性。

请注意,必须在 上Trigger指定 PropertyValue 属性,触发器才能有意义。 如果未设置其中一个或两个属性,则会引发异常。

对象的 Setters 属性 Trigger 只能由 对象组成 SetterSetter向 对象添加子Trigger级会将其隐式添加到 对象的 。SetterBaseCollectionTrigger EventSetter 不支持 对象;仅 Style.Setters 支持 EventSetter 对象。

还有其他类型的触发器。 MultiTrigger 允许根据多个属性的状态应用更改。 EventTrigger 允许在事件发生时应用更改。 DataTriggerMultiDataTrigger 用于数据绑定属性。

构造函数

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

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

方法

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)
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()

用信号通知对象初始化已完成。

适用于

另请参阅