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的时候,触发器才会触发,运行结果如下:
本节到此结束...
相关文章
- .NET静态代码织入——肉夹馍(Rougamo) 发布1.4.0
- .NET静态代码织入——肉夹馍(Rougamo) 发布1.2.0
- ASP.NET Core - 配置系统之配置读取
- ASP.NET Core 系列总结
- ASP.NET Core - 依赖注入(四)
- 使用 dotnet-monitor 分析.NET 应用程序
- 理解ASP.NET Core - 依赖注入(Dependency Injection)
- ASP.NET Core - 依赖注入(三)
- 一次k8s docker下.net程序的异常行为dump诊断
- ASP.NET Core - 依赖注入(二)
- .NET微服务系统迁移至.NET6.0的故事
- 记一次 .NET某家装ERP系统 内存暴涨分析
- .NET依赖注入之一个接口多个实现
- IO多路复用
- ASP.NET Core中GetService()和GetRequiredService()之间的区别
- ASP.NET Core - 依赖注入(一)
- 三星为其基于 RISC-V的 Tizen平台移植.NET
- .NET周报 【2月第3期 2023-02-18】
- .NET遍历二维数组-先行/先列哪个更快?
- ASP.NET Core知识之RabbitMQ组件使用(二)