WPF中的触发器(Trigger)

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

1

基本触发器(Trigger)

    请看如下代码:

a663a4f412f013d690bffc5dedeeb3cd.png

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

1c83b71cd41064581afccc107e9cbc08.png

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

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

062de244c6040f095209465202169374.png

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

793c2cb2582db5420f9c70c3adce70e3.png

2

事件触发器(EventTrigger)

    请先看如下代码:

a1b907abc5aeb363653d6d3d976169f2.png

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

31990bf24ca2b39eb897ed749d27fd94.png

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

3

数据触发器(DataTrigger)

    请看如下代码:

773bccaf0150ae6312f7df614ae0e76a.png

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

d4f9b33a3fa3f5033f65d4f030929f3f.png

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

40f7cc81cce1d1df82de4eb04dd6af6a.png

本节到此结束...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/293543.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数学之美番外篇:平凡而又神奇的贝叶斯方法

概率论只不过是把常识用数学公式表达了出来。 ——拉普拉斯 记得读本科的时候,最喜欢到城里的计算机书店里面去闲逛,一逛就是好几个小时;有一次,在书店看到一本书,名叫贝叶斯方法。当时数学系的课程还没有学到概率统计…

linux red hat 安装svn

安装步骤如下:1、yum install subversion 2、输入rpm -ql subversion查看安装位置,如下图:我们知道svn在bin目录下生成了几个二进制文件。输入 svn --help可以查看svn的使用方法,如下图。3、创建svn版本库目录mkdir -p /var/svn/s…

驰骋表单设计器 设计表单案例演示

为什么80%的码农都做不了架构师?>>> 我们以客户提供如下原始的word表单样本,使用驰骋表单设计器制作表单的过程介绍如下:工业设计和创意需求登记表原始表单图 在ccform表单设计器中,设计如下: 驰骋表单设计器&#xf…

这个避孕套让生活更和谐……

1 三连暴击▼2 开塞露还能这样用?▼3 这真不是打架?▼4 送礼佳品,必拉黑神器!▼5 孩子:爹妈,真的可以再考虑一下的......▼6 四只手才能拆的避孕套▼7 谭警官:莫挨我!&#xff…

WPF GridControl控件的用法举例

01—前言WPF中自带的表格控件是DataGrid,但是格式并不是很美观,我们一般用Dev中类似的控件GridControl来取代,这个控件功能相当强大。WPF数据网格(GridControl)是一个数据感知控件,用于以不同的布局显示和编…

推荐我看过的几本好书给大家!(2)

继续从亚马逊盗图!哈哈! 这本书感觉很不错,对于算法,个人觉得还是需要掌握的,毕竟你不可能一辈子都做最底层的程序员吧,想要获得提升,一方面是经验的积累,另外一方面则是一种厚积薄发…

activemq安全设置 设置admin的用户名和密码

ActiveMQ使用的是jetty服务器, 打开conf/jetty.xml文件&#xff0c;找到 <bean id"securityConstraint" class"org.eclipse.jetty.http.security.Constraint"> <property name"name" value"BASIC" /> <p…

转:IOS开发之----Xcode非ARC项目中设置部分文件ARC支持

ARC是什么 ARC是iOS 5推出的新功能&#xff0c;全称叫 ARC(Automatic Reference Counting)。简单地说&#xff0c;就是代码中自动加入了retain/release&#xff0c;原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。该机制在 iOS 5/ Mac OS X 10.…

C# ActionT和 FuncT委托

除了为每个参数和返回类型定义一个新委托类型之外&#xff0c;还可以使用 Action<T> 和 Func<T>委托。泛型 Action<T>委托表示引用一个 void 返回类型的方法。这个委托类存在不同的变体&#xff0c;可以传递至多 16 种不同的参数类型。没有泛型参数的 Action…

linux学习-简单命令介绍及安装VMware Tools

常用简单命令介绍 ethernet以太网pts&#xff1a;模拟终端图形界面&#xff1a;CtrlAltF1 字符界面&#xff1a;CtrlAltF2-F6切换虚拟终端&#xff1a;&#xff08;本机操作&#xff09;# chvt 1-6关闭图形界面,在纯字符界面下操作&#xff1a; init 3打开图形界面&#xff…

Unity手游之路lt;七gt;角色控制器

我们要控制角色的移动&#xff0c;能够所有细节都由自己来实现。控制角色模型的移动&#xff0c;同一时候移动摄影机&#xff0c;改变视角。当然Unity也提供了一些组件&#xff0c;能够让我们做更少的工作&#xff0c;实现我们所期望的功能。今天我们就一起系统来学习相关的内容…

《SAS编程与数据挖掘商业案例》学习笔记之十八

接着以前的《SAS编程与数据挖掘商业案例》&#xff0c;之前全是sas的基础知识&#xff0c;现在开始进入数据挖掘方面笔记&#xff0c;本文主要介绍数据挖掘基本流程以及应用方向&#xff0c;并以logistic回归为例说明。 一&#xff1a;数据挖掘综述 衡量一个数据挖掘模型价值的…

开源软件的痛点

| 作者&#xff1a;Bob Jiang| 编辑&#xff1a;刘雪洁| 责编&#xff1a;王玥敏| 设计&#xff1a;宋传琪开篇我是 Bob Jiang (个人博客&#xff1a;https://www.bobjiang.com/)&#xff0c;开源软件领域的新人。我从2018年加入区块链领域开始认识和了解开源。当时我创立了HiB…

SQLite入门之数据类型

2019独角兽企业重金招聘Python工程师标准>>> SQLite入门之数据类型 2011-05-23 16:47:47 来源&#xff1a;SeaYee 最近在开发一个可以记录日志的程序&#xff0c;要求效率高&#xff0c;需要能做简单的查询和统计。经过同事介绍&#xff0c;看上了SQLite。首先了解…

【Tika基础教程之一】Tika基础教程

一、快速入门 1、Tika是一个用于文本解释的框架&#xff0c;其本身并不提供任何的库用于解释文本&#xff0c;而是调用各种各样的库&#xff0c;如POI&#xff0c;PDFBox等。 使用Tika&#xff0c;可以提取文件中的作者、标题、创建时间、正文等内容&#xff0c;相比于java.io自…

它是世界上最轻的固体!1000℃下不会熔化,上过火星,还能进你家......

全世界只有3.14 % 的人关注了爆炸吧知识小果冻大难关开学了&#xff0c;8岁表妹逮着这个机会讹了我一大箱果冻&#xff0c;超模君糊里糊涂就进了这只神兽的套。今天估计是一口气吃了太多&#xff0c;腻了&#xff0c;一边用手敲着果冻一边问超模君&#xff1a;“这果冻这么软&a…