Blend_技巧篇_淡入淡出
1.1 利用UIElement.OpacityMask属性,用于改变对象区域的不透明度的画笔。可以使元素的特定区域透明或部分透明,从而实现比较新颖的效果。
1.2 OpacityMask属性接受任何画刷,可利用LinearGradientBrush线性渐变画刷,通过对渐变画刷中各颜色点加以动画处理即可。
2、渐变淡入实现
渐变淡入效果,可通过事件触发器触发Loaded事件实现,所以可以仅用前端XAML语言实现。
2.1 设置对象的OpacityMask属性
<Grid.OpacityMask><LinearGradientBrush StartPoint="0.5,1" EndPoint="0.5,0"><GradientStop Color="#00000000" Offset="0"/><GradientStop Color="#00000000" Offset="1"/><GradientStop Color="#00000000" Offset="1"/></LinearGradientBrush> </Grid.OpacityMask>
2.2 设置对象的事件触发器
<Grid.Triggers><EventTrigger RoutedEvent="Loaded"><EventTrigger.Actions><BeginStoryboard><Storyboard><DoubleAnimation From="1" To="0" Duration="0:0:1.5" Storyboard.TargetProperty="OpacityMask.(GradientBrush.GradientStops)[1].Offset"/><DoubleAnimation From="1" To="0" Duration="0:0:1" BeginTime="0:0:0.5" Storyboard.TargetProperty="OpacityMask.(GradientBrush.GradientStops)[2].Offset"/><ColorAnimation To="#FF000000" Duration="0" Storyboard.TargetProperty="OpacityMask.(GradientBrush.GradientStops)[2].Color"/></Storyboard></BeginStoryboard></EventTrigger.Actions></EventTrigger> </Grid.Triggers>
3、渐变淡出实现
渐变淡出效果,由于事件触发器事件需要路由事件触发,所以需要使用后端代码实现。
3.1 准备渐变淡出的动画和画刷资源
<Window.Resources><Storyboard x:Key="ClosedStoryboard" Storyboard.TargetName="LoginGrid"><DoubleAnimation From="1" To="0" Duration="0:0:2" Storyboard.TargetProperty="OpacityMask.(GradientBrush.GradientStops)[1].Offset"/><DoubleAnimation From="1" To="0" Duration="0:0:1.5" BeginTime="0:0:0.5"Storyboard.TargetProperty="OpacityMask.(GradientBrush.GradientStops)[2].Offset"/><ColorAnimation To="#00000000" Duration="0" Storyboard.TargetProperty="OpacityMask.(GradientBrush.GradientStops)[2].Color"/></Storyboard><LinearGradientBrush x:Key="ClosedBrush" StartPoint="0.5,0" EndPoint="0.5,1"><GradientStop Color="#FF000000" Offset="0"/><GradientStop Color="#FF000000" Offset="1"/><GradientStop Color="#FF000000" Offset="1"/></LinearGradientBrush> </Window.Resources>
3.2 后端通过绑定按钮的Click事件实现
private void btnCancel_Click(object sender, RoutedEventArgs e) {this.IsEnabled = false;LoginGrid.OpacityMask = this.Resources["ClosedBrush"] as LinearGradientBrush;Storyboard std = this.Resources["ClosedStoryboard"] as Storyboard;std.Completed += delegate { this.Close(); };std.Begin(); }
转载于:https://www.cnblogs.com/lonelyxmas/p/9839849.html
Blend_技巧篇_淡入淡出相关推荐
- mysql的经典sql语句大全_经典SQL语句大全_基础篇_提升篇_技巧篇_开发经典篇
一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- ...
- android淡入淡出动画_在Android中淡入动画示例
android淡入淡出动画 1) XML File: activity_main 1)XML文件:activity_main <?xml version="1.0" enco ...
- 小帅小胖智能机器人如何使用_小帅智能教育机器人使用技巧篇(下篇)
原标题:小帅智能教育机器人使用技巧篇(下篇) 主持人:早上起得晚,可不可以不刷牙啊? 小帅:你不刷牙嘴巴臭臭的,我只能捂着鼻子跟你说话了. 主持人:今天邻居欺负我.我该怎么办? 小帅:君子动口不动手, ...
- spotify歌曲下载_如何像真正的DJ一样让Spotify在歌曲之间进行淡入淡出
spotify歌曲下载 When you listen to a live DJ, one song doesn't stop playing and then another start after ...
- linux绝育玩客云_玩机技巧 篇二:玩客云实用指南(真·无痛绝育),附玩物下载对比...
玩机技巧 篇二:玩客云实用指南(真·无痛绝育),附玩物下载对比 2019-12-10 15:52:41 408点赞 3771收藏 336评论 创作立场声明:看到站内有些关于玩客云❎绝育的帖子,补充一下 ...
- ibm x201 怎么清理内部_维修小技巧 篇五:ThinkPadX201i拆机换散热风扇清灰教程
维修小技巧 篇五:ThinkPadX201i拆机换散热风扇清灰教程 2020-11-25 21:45:44 16点赞 14收藏 42评论 创作立场声明:拆装有风险.拆装有风险.拆装有风险,欢迎收藏,点 ...
- ipad分屏_第九期procreate教程|分屏技巧篇+超好用的iPad软件推荐
✨ 愿 你 我 都 成 为 发 光 发 热 之 人 ✨ 文|芳子酱 大家好,我是芳子酱. 这个系列的教程终于快要完结啦! 今天要分享的是分屏技巧篇,还会推荐一些好用的iPad软件给大家哦~一起来看看吧 ...
- an怎么做淡入_淡入与淡出效果
## 1.淡入特效的函数fadeIn() ``` // 1.淡入/渐显 $("#fadeIn").click(function(event) { $("#group1 i ...
- html多图轮播淡入淡出js,原生JS实现图片轮播与淡入效果的简单实例
最近对css的兴趣提不起来,因为以前对图片轮播一直耿耿于怀苦于学艺不精,所以,花了点时间熟悉了一下js.然后一条道走到黑,用jquery和js写了一下轮播和图片淡入的效果.以后学习的路很长,希望自己在 ...
最新文章
- BASE64Encoder cannot be resolved to a type类似问题的解决办法
- Jquery中替换节点的方法replaceWith()和replaceAll()
- 搞怪菜鸟加入域全程图解[为企业部署Windows Server 2008系列十二]
- 机器学习算法Python实现:gensim里的similarities文本相似度计算
- css less 不要作用到子对象_使用Less实现网站主题切换
- 生成微信蓝色昵称,原来如此简单
- [转] Omnifocus 2 for mac license
- jquery 时间选择插件-jedate
- 电子购物网站导航制作
- python安装reportlab
- 古典钢琴音源插件-COLOVE Products Pianos X1 v2.0 WiN-MAC
- 技巧篇:常用的vba代码汇总
- 浅析Minecraft直播弹幕模组BakaDanmaku源码
- 3月9日火箭vs黄蜂
- html字体随页面大小变化,字体大小随网页大小变化
- [Mysql] STR_TO_DATE函数
- 如何用计算机还原魔方,魔方复原
- Red5与Nginx Rtmp性能对比
- ReDet A Rotation-equivariant Detector for Aerial Object Detection 论文学习
- 程序员,你以为你很优秀,但却面试屡屡失败?
热门文章
- 图片配置文件设置 索尼a7s2_16组Sony索尼系列相机Slog2和Slog3常用Vlog灰片视频电影LTUS调色预设...
- abp 上如何使用getstoredproccommand_多效唑,如何在柑橘上安全使用
- SpringSecurity Filter
- Spring Security Oauth2 (二) 代码 授权码模式
- python 抽象类和接口
- Flask cookie
- C语言关系运算符介绍和示例
- ssh登录发生加密算法报错解决办法
- 什么是云存储网关CSG
- Docker学习总结(44)——Docker容器时间与主机时间不一致的三种解决方式