WPF中的触发器(Trigger)
这节来讲一下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)相关推荐
- mysql添加序列触发器_Oracle中使用触发器(trigger)和序列(sequence)模拟实现自增列实例...
问题:在SQL Server数据库中,有自增列这个字段属性,使用起来也是很方便的.而在Oracle中却没有这个功能,该如何实现呢? 答:在Oracle中虽然没有自增列的说法,但却可以通过触发器(tri ...
- MySQL中的触发器(trigger)
触发器(trigger)是个特殊的存储过程,不同的是,执行存储过程要使用CALL语句来调用,而触发器的执行不需要使用CALL,也不需要手动启动,当一个预定义的事件发生的时候,就会被MySQL自动调用. ...
- WPF: WPF 中的 Triggers 和 VisualStateManager
在之前写的这篇文章 WPF: 只读依赖属性的介绍与实践 中,我们介绍了在 WPF 自定义控件中如何添加只读依赖属性,并且使其结合属性触发器 (Trigger) 来实现对控件样式的改变.事实上,关于触发 ...
- WPF中触发器Trigger、MultiTrigger、DataTrigger、MultiDataTrigger、EventTrigger几种
WPF中有种叫做触发器的东西(记住不是数据库的trigger哦).它的主要作用是根据trigger的不同条件来自动更改外观属性,或者执行动画等操作. WPFtrigger的主要类型有:Trigger. ...
- WPF触发器(Trigger)
WPF触发器(Trigger.DataTrigger.EventTrigger) WPF中有种叫做触发器的东西(记住不是数据库的trigger哦).它的主要作用是根据trigger的不同条件来自动更改 ...
- 从0 开始 WPF MVVM 企业级框架实现与说明 ---- 第五讲 WPF中 Style
Style这个东西几乎是无处不在,这个类似于web开发中的css样式,想要做一个很丰富的UI,这个东西是必不可少的,我也不是专业的UI开发者,这边只能介绍Style在WPF中的用法 下面有一个下载地址 ...
- html网页跳转触发器,trigger button
WPF 按钮属性触发器的问题 WPF 中实现鼠标悬停button边框发光效果的trigger ...已经设置了button背景图,需要鼠标悬停时出现黄色边框 jquery trigger ue按钮怎么 ...
- WPF中的ControlTemplate
WPF中的ControlTemplate WPF包含数据模板和控件模板,其中控件模板又包括ControlTemplate和 ItemsPanelTemplate,这里讨论一下ControlTempla ...
- html自定义指针,如何自定义鼠标指针 怎样在wpf中自定义鼠标指针
如何在ppt中自定义鼠标指针的形状? 魔兽世界怎么自定义鼠标指针 在系统 控制面板 里面鼠标属性 指针里面改就可以了 下面有个浏览 可以自定义换图案 怎样在网页中设定一整套自定义的鼠标指针? 麻烦了 ...
最新文章
- 计算机操作培训主持词,魅力女性沙龙会主持词文稿.docx
- 一学就会的 Python 时间转化总结(超全)
- PDC - C#4.0 以及未来
- go split 正则_WEGO使用—华大基因在线GO功能注释
- Html5页面和Native App怎么进行交互
- dmesg显示内核环缓冲区
- mysql主键查询gap锁失效,mysql记录锁(record lock),间隙锁(gap lock),Next-key锁(Next-key lock)...
- Django3 --- ASGI
- Linux的10个最危险的命令
- python求正整数的百位部分_Python程序设计课后习题答案
- 编程中的Eric常用的编程单词的缩写
- 《Java技术》第六次作业
- Kubernetes 小白学习笔记(12)--搭建一个kubernetes集群-安装dashboard和heapster并验证集群安装结果
- SQL SERVER 修改字段长度
- 关于项目估算的微博讨论
- 审车的时候环保怎样安全通过_审车环保3次不过怎么办,年检尾气不合格怎么办...
- 分享一个免费的OCR图片文字识别接口
- 强化学习训练Agent走直线
- Goland自定义头部注释,增加author和data等(学习笔记,不作教程)
- 封装前端UI组件库--button
热门文章
- 谈谈 css 的各种居中——读编写高质量代码有感
- Oracle %rowtype的用法
- 系统命名与 SQL 命名之争 - 第 1 部分
- 正则表达式||grep的使用
- found.000文件夹的问题
- php 输出text格式化,php printf() 输出格式化的字符串,phpprintf
- 深度优先搜索(DFS)----------------Tju_Oj_3517The longest athletic track
- 【题解】洛谷P1066 [NOIP2006TG] 2^k进制数(复杂高精+组合推导)
- 纯CSS制作各种各样的网页图标(三角形、暂停按钮、下载箭头、加号等)
- Appium wait等待的三种方法