WPF里面触发器
2024-10-12 09:48:26
WPF中有种叫做触发器的东西(记住不是数据库的trigger哦)。它的主要作用是根据trigger的不同条件来自动更改外观属性,或者执行动画等操作。
WPFtrigger的主要类型有:Trigger、MultiTrigger、DataTrigger、MultiDataTrigger、EventTrigger几种。从字面意思上我们想大家已经知道个大概,接下来我将还会用实例代码逐一进行介绍。trigger主要运用的场景在Style、ControlTemplate、DataTemplate三个地方。在这些地方可以使用trigger,具体视情况而定。
1.在Style中使用各种trigger
在style中使用的trigger主要是属性的触发器,当属性的值发生改变是将会引发触发器。
我们手写在Window中定义一个动画一个事件触发器
<Window.Resources>
<Storyboard x:Key="bonn1">
<DoubleAnimation Storyboard.TargetName="butt" Storyboard.TargetProperty="Width" To="100" Duration="0:0:0.5"></DoubleAnimation>
</Storyboard>
<Storyboard x:Key="bonn2">
<DoubleAnimation Storyboard.TargetName="butt" Storyboard.TargetProperty="Width" Duration="0:0:0.5"></DoubleAnimation>
</Storyboard>
</Window.Resources>
<Window.Triggers>
<EventTrigger RoutedEvent="Button.Click" SourceName="butt">
<BeginStoryboard Storyboard="{DynamicResource bonn1}"></BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="Button.MouseLeave" SourceName="butt">
<BeginStoryboard Storyboard="{DynamicResource bonn2}"></BeginStoryboard>
</EventTrigger>
</Window.Triggers>
绑定的按钮定义如下:
<Button Name="butt" Style="{DynamicResource BtnInfoStyle}" Width="70" Content="信息">
<!--<i:Interaction.Behaviors>
<local:LightedEffectBehavior/>
</i:Interaction.Behaviors>
<Button.Triggers>
<EventTrigger RoutedEvent="Button.Click">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Width" To="100" Duration="0:0:0.5"></DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>-->
</Button>
最新文章
- Mysql 关键字及保留字
- 一起写一个JSON解析器
- Oracle参数化查询
- java web 学习 --第五天(Java三级考试)
- (04)odoo视图操作
- MySQL slave状态之Seconds_Behind_Master
- 舶来品P2P理财 能否成为“好声音”式好生意? 转
- Linux内核分析(二)----内核模块简介|简单内核模块实现
- SVN:One or more files are in a conflicted state
- java操作mongodb——连接数据库
- Coloring Trees
- .Net4.0 任务(Task)
- 神经网络的另一种非线性阶跃函数---ReLU函数
- 监听器的配置,绑定HttpSessionListener监听器的使用
- P1939【模板】矩阵加速(数列)
- 关于方法中的self参数和全局变
- PAT 1012 数字分类 (20)(代码+测试点)
- Hibernate高效查询,只查询部分/指定字段
- 使用Flask+MongoDB实现基于REST的接口简单操作
- AliSQL 5.6.32 vs MySQL 5.7.15抢鲜测试
热门文章
- 基于Hexo搭建静态博客
- 【转载】七个人生工具,终生受益 | SWOT、PDCA、6W2H、SMART、WBS、时间管理、二八原则
- [机器学习] Yellowbrick使用笔记3-特征分析可视化
- 旧酒换新瓶,新版M1/M2芯片Macos(Ventura)安装古早版本Python2.7(Python2.x)
- 传播问卷调查数据不够?自己生成假数据!Python编程一对一教学
- 【Redis实战专题】「性能监控系列」全方位探索Redis的性能监控以及优化指南
- 区块链特辑——solidity语言基础(六)
- 序列化框架-Kyro简述
- SSM使用PageHelper
- My First Blog Ever——记我在交大ACM班的第一个学期