这节来讲一下WPF中的触发器——Trigger。触发器,是指在既定条件或者特殊场景下被触发,从而去执行一个操作。在WPF中,触发器可以分为以下几类:基本触发器(Trigger);事件触发器(EventTrigger);数据触发器(DataTrigger);多条件触发器(MultiTrigger,MultiDataTrigger)。下面我们来通过代码一一了解。

1

基本触发器(Trigger)

请看如下代码:

我为Slider控件的样式设置了一个基本触发器,需要关注的是Trigger的Property和Value,Property设置要根据Slider控件的哪个属性触发,Value设置当属性为何值时触发,在Setter中也有Property和Value,此处则是设置触发时要执行的操作,上述触发器的作用时当Slider的Value为1时,设置其背景为纯绿色:运行效果如下:

设置了两个Slider作对比,当Slider值为1时,触发器被触发,背景色也进行了对应修改。

当我们想监视多个属性的值来控制触发器的执行,可以使用MultiTrigger,请看如下代码:

多属性触发器,需要将多个触发条件写在MultiTrigger.Conditions中,其它用法都是一致的,上述代码中,当Slider的Value为1并且样式为垂直的时候,触发器才会触发,运行结果如下:

2

事件触发器(EventTrigger)

请先看如下代码:

事件触发器有些不同的是,它触发执行的是一段动画,并且是通过RoutedEvent来执行要监视的事件,上述代码中,当Button的MouseEnter事件被触发时,其前景色会逐渐变成紫色,请看运行结果:

关于WPF动画的相关知识,会在下节讲述,请关注后续文章。

3

数据触发器(DataTrigger)

请看如下代码:

我们还是以修改Slider背景色为例子,数据触发器使用Binding来设置要监视的对象,其结果跟示例1一致,此处不再展示,除了绑定一个数据,也可以通过MultiDataTrigger来绑定多个数据,当多个数据同时满足条件时才触发:

多数据触发器,需要将多个触发条件写在MultiDataTrigger.Conditions中,其它用法都是一致的,上述代码中,当Slider的Value为1并且最大值为1的时候,触发器才会触发,运行结果如下:

本节到此结束...

WPF中的触发器(Trigger)相关推荐

  1. mysql添加序列触发器_Oracle中使用触发器(trigger)和序列(sequence)模拟实现自增列实例...

    问题:在SQL Server数据库中,有自增列这个字段属性,使用起来也是很方便的.而在Oracle中却没有这个功能,该如何实现呢? 答:在Oracle中虽然没有自增列的说法,但却可以通过触发器(tri ...

  2. MySQL中的触发器(trigger)

    触发器(trigger)是个特殊的存储过程,不同的是,执行存储过程要使用CALL语句来调用,而触发器的执行不需要使用CALL,也不需要手动启动,当一个预定义的事件发生的时候,就会被MySQL自动调用. ...

  3. WPF: WPF 中的 Triggers 和 VisualStateManager

    在之前写的这篇文章 WPF: 只读依赖属性的介绍与实践 中,我们介绍了在 WPF 自定义控件中如何添加只读依赖属性,并且使其结合属性触发器 (Trigger) 来实现对控件样式的改变.事实上,关于触发 ...

  4. WPF中触发器Trigger、MultiTrigger、DataTrigger、MultiDataTrigger、EventTrigger几种

    WPF中有种叫做触发器的东西(记住不是数据库的trigger哦).它的主要作用是根据trigger的不同条件来自动更改外观属性,或者执行动画等操作. WPFtrigger的主要类型有:Trigger. ...

  5. WPF触发器(Trigger)

    WPF触发器(Trigger.DataTrigger.EventTrigger) WPF中有种叫做触发器的东西(记住不是数据库的trigger哦).它的主要作用是根据trigger的不同条件来自动更改 ...

  6. 从0 开始 WPF MVVM 企业级框架实现与说明 ---- 第五讲 WPF中 Style

    Style这个东西几乎是无处不在,这个类似于web开发中的css样式,想要做一个很丰富的UI,这个东西是必不可少的,我也不是专业的UI开发者,这边只能介绍Style在WPF中的用法 下面有一个下载地址 ...

  7. html网页跳转触发器,trigger button

    WPF 按钮属性触发器的问题 WPF 中实现鼠标悬停button边框发光效果的trigger ...已经设置了button背景图,需要鼠标悬停时出现黄色边框 jquery trigger ue按钮怎么 ...

  8. WPF中的ControlTemplate

    WPF中的ControlTemplate WPF包含数据模板和控件模板,其中控件模板又包括ControlTemplate和 ItemsPanelTemplate,这里讨论一下ControlTempla ...

  9. html自定义指针,如何自定义鼠标指针 怎样在wpf中自定义鼠标指针

    如何在ppt中自定义鼠标指针的形状? 魔兽世界怎么自定义鼠标指针 在系统 控制面板 里面鼠标属性 指针里面改就可以了 下面有个浏览 可以自定义换图案 怎样在网页中设定一整套自定义的鼠标指针? 麻烦了 ...

最新文章

  1. 计算机操作培训主持词,魅力女性沙龙会主持词文稿.docx
  2. 一学就会的 Python 时间转化总结(超全)
  3. PDC - C#4.0 以及未来
  4. go split 正则_WEGO使用—华大基因在线GO功能注释
  5. Html5页面和Native App怎么进行交互
  6. dmesg显示内核环缓冲区
  7. mysql主键查询gap锁失效,mysql记录锁(record lock),间隙锁(gap lock),Next-key锁(Next-key lock)...
  8. Django3 --- ASGI
  9. Linux的10个最危险的命令
  10. python求正整数的百位部分_Python程序设计课后习题答案
  11. 编程中的Eric常用的编程单词的缩写
  12. 《Java技术》第六次作业
  13. Kubernetes 小白学习笔记(12)--搭建一个kubernetes集群-安装dashboard和heapster并验证集群安装结果
  14. SQL SERVER 修改字段长度
  15. 关于项目估算的微博讨论
  16. 审车的时候环保怎样安全通过_审车环保3次不过怎么办,年检尾气不合格怎么办...
  17. 分享一个免费的OCR图片文字识别接口
  18. 强化学习训练Agent走直线
  19. Goland自定义头部注释,增加author和data等(学习笔记,不作教程)
  20. 封装前端UI组件库--button

热门文章

  1. 谈谈 css 的各种居中——读编写高质量代码有感
  2. Oracle %rowtype的用法
  3. 系统命名与 SQL 命名之争 - 第 1 部分
  4. 正则表达式||grep的使用
  5. found.000文件夹的问题
  6. php 输出text格式化,php printf() 输出格式化的字符串,phpprintf
  7. 深度优先搜索(DFS)----------------Tju_Oj_3517The longest athletic track
  8. 【题解】洛谷P1066 [NOIP2006TG] 2^k进制数(复杂高精+组合推导)
  9. 纯CSS制作各种各样的网页图标(三角形、暂停按钮、下载箭头、加号等)
  10. Appium wait等待的三种方法