WPF有个主题,就是以声明的方式扩展代码的功能,当使用样式、资源或者数据绑定时,将发现即使不适用代码,也能完成不少工作,这个时候就要使用触发器了,当属性发生变化时,可以进行响应,并自动调整样式。每个样式可以有任意多个触发器,而且每个触发器都是System.Windows.TriggerBase的派生类的实例。
简单理解就是:在样式中设置触发器,在触发器中设置属性名称和属性值。
继承自TriggerBase的类 | |
Trigger | 这是一种简单的触发器,可以监测依赖项属性的变化,然后使用设置器改变样式 |
MultiTrigger | 与Trigger类似,但这种触发器联合了多个条件,只有满足了所有这些条件,才会启动出触发器 |
DataTrigger | 数据绑定触发器 |
MultiDataTrigger | 联合多个数据触发器 |
EventTrigger | 这是复杂的触发器,当事件发生时,这种触发器应用动画 |
可以为任何依赖项属性关联简单触发器,每个简单的触发器都指定了正在监视的属性,以及正在等待的属性值,当属性值出现时,将应用存储在Trigger.Setters集合中的设置器(不能使用复杂的触发器逻辑)。
如果希望创建只有当几个条件都为真时才激活的触发器,可使用MultiTrigger,这种触发器提供了一个Conditions(条件)集合,可通过该集合定义一系列属性值的集合。
4、事件触发器
普通触发器是等待属性发生变化,而事件触发器是等待特定的事件被引发。事件触发器要求用户提供一系列修改控件的动作,这些动作通常被应用为动画。
**************************************************************************************************************