WPF 文本逐字一个个出现的动画效果
一、效果图:
二、前台代码:
<Grid>
<TextBlock Foreground="Transparent" x:Name="text" TextWrapping="Wrap" >
刚刚想半天都不知道取个什么标题好,我想了又想,还是想不出来
与 From/To/By 动画类似,关键帧动画对目标属性的值进行动画处理。 它通过其 Duration 在目标值之间创建过渡。 但是,From/To/By 动画可以在两个值之间创建过渡,而单个关键帧动画可以在任意数量的目标值之间创建过渡。 不同于 From/To/By 动画,关键帧动画没有设置其目标值所需的 From、To 或 By 属性。 关键帧动画的目标值使用关键帧对象进行描述,因此称作“关键帧动画”。 若要指定动画的目标值,请创建关键帧对象并将其添加到动画的 KeyFrames 集合。 动画运行时,将在指定的帧之间过渡。
某些关键帧方法除支持多个目标值外,甚至还支持多个内插方法。 动画的内插方法定义了从一个值过渡到下一个值的方式。 有三种内插类型:离散、线性和曲线。 若要使用关键帧动画进行动画处理,需要完成下列步骤。
<TextBlock.TextEffects>
<TextEffect PositionCount="5" x:Name="MyTextEffect">
<TextEffect.Foreground>
<SolidColorBrush Color="Red"/>
</TextEffect.Foreground>
</TextEffect>
</TextBlock.TextEffects>
</TextBlock>
</Grid>
三、后台代码:
Int32AnimationUsingKeyFrames animationUsingKeyFrames= new Int32AnimationUsingKeyFrames();
int count=text.Text.Length;
for (int i = 0; i < count; i++)
{
animationUsingKeyFrames.KeyFrames.Add(new DiscreteInt32KeyFrame { Value = i, KeyTime = KeyTime.FromTimeSpan(TimeSpan.FromSeconds(i*0.03)) });
}
animationUsingKeyFrames.Duration = TimeSpan.FromSeconds(count*0.03);
animationUsingKeyFrames.RepeatBehavior = RepeatBehavior.Forever;
//animationUsingKeyFrames.AutoReverse= true;
//MyTextEffect.BeginAnimation(TextEffect.PositionCountProperty, animationUsingKeyFrames);
Storyboard sb=new Storyboard(); Storyboard.SetTarget( animationUsingKeyFrames, text);
Storyboard.SetTargetProperty(animationUsingKeyFrames, new PropertyPath("(TextBlock.TextEffects)[0].(TextEffect.PositionCount)"));
sb.Children.Add(animationUsingKeyFrames); ColorAnimation colorAnimation = new ColorAnimation();
colorAnimation.From = Colors.Black;
colorAnimation.To = Colors.Blue;
colorAnimation.Duration = TimeSpan.FromSeconds(1);
colorAnimation.RepeatBehavior = RepeatBehavior.Forever;
colorAnimation.AutoReverse = true;
Storyboard.SetTarget(colorAnimation, text);
Storyboard.SetTargetProperty(colorAnimation, new PropertyPath("(TextBlock.TextEffects)[0].(TextEffect.Foreground).(SolidColorBrush.Color)"));//(TextEffect.Foreground).(SolidColorBrush.Color)
sb.Children.Add(colorAnimation);
sb.Begin();
WPF 文本逐字一个个出现的动画效果的更多相关文章
- WPF实现左右移动(晃动)动画效果
原文:WPF实现左右移动(晃动)动画效果 实现控件或布局的左右移动(晃动)主要用到DoubleAnimation以及Storyboard 布局代码为: <Canvas> <Grid ...
- WPF制作子窗体的弹出动画效果
创建一个WPF应用程序WpfApplication1,新建个窗体DialogWin <Windowx:Class="WpfApplication1.DialogWin" xm ...
- 【HTML5游戏开发小技巧】RPG情景对话中,令文本逐字输出
以前用JAVAscript实现过令文本逐字输出的效果,今天我来用html5中的canvas实现一下.canvas里的内容可不像<p>那样好操作,首先,你需要懂得一些html5的API才能操 ...
- 用POP动画编写带富文本的自定义动画效果
用POP动画编写带富文本的自定义动画效果 [源码] https://github.com/YouXianMing/UI-Component-Collection [效果] [特点] * 支持富文本 * ...
- 【WPF学习】第五十三章 动画类型回顾
创建动画面临的第一个挑战是为动画选择正确的属性.期望的结果(例如,在窗口中移动元素)与需要使用的属性(在这种情况下是Canvas.Left和Canvas.Top属性)之间的关系并不总是很直观.下面是一 ...
- WPF 文本框添加水印效果
有的时候我们需要为我们的WPF文本框TextBox控件添加一个显示水印的效果来增强用户体验,比如登陆的时候提示输入用户名,输入密码等情形.如下图所示: 这个时候我们除了可以修改TextBox控件的控件 ...
- WPF文本框密码框添加水印效果
WPF文本框密码框添加水印效果 来源: 阅读:559 时间:2014-12-31 分享: 0 按照惯例,先看下效果 文本框水印 文本框水印相对简单,不需要重写模板,仅仅需要一个VisualBrush ...
- wpf image控件循环显示图片 以达到动画效果 问题及解决方案
1>最初方案: 用wpf的image控件循环显示图片,达到动画效果,其实就是在后台代码动态改变Image.Source的值,关键代码: ; i < ; i++)//六百张图片 { Bitm ...
- 《Programming WPF》翻译 第8章 1.动画基础
原文:<Programming WPF>翻译 第8章 1.动画基础 动画包括在一段时间内改变用户界面的某些可见的特征,如它的大小.位置或颜色.你可以做到这一点,非常困难的通过创建一个tim ...
- WPF异步载入图片,附带载入中动画
原文:WPF异步载入图片,附带载入中动画 WPF异步载入图片,附带载入中动画 最近,在做一个WPF项目.项目中有一个需求,就是以列表的方式显示出项目图片.这些图片有的存在于互联网上,有的存在于本地磁盘 ...
随机推荐
- drf-day1——web应用模式、API接口、接口测试工具postman
目录 学习资料 一.web 应用模式 二.API接口 API概念 三.接口测试工具postman postman介绍 postman下载与使用 四.如何在浏览器中测试 学习资料 # 个人博客:http ...
- FAQ os.system调用失效问题
os.system调用失效问题 背景 有个学员反馈allure无法生成报告 # 示例代码 import pytest,os def test_os(): pass if __name__ == '__ ...
- Vue06 数据绑定
1 Vue模板语法 Vue模板语法分为两大类,插值语法和指令语法 1.1 插值语法 1)功能:用于解析标签体内容 2)写法:{{xxx}} xxx是js表达式,且可以直接读取到vue实例里面的属性 3 ...
- Zabbix监控阿里云SLB操作指引
1. SLB介绍 阿里云负载均衡(Server Load Balancer,简称SLB)是云原生时代应用高可用的基本要素.通过将流量分发到不同的后端服务来扩展应用系统的服务吞吐能力,消除单点故障并提升 ...
- 题解 Trie 但是你要最小化它的节点数量
名字瞎取的 Description 给定 \(n\) 个字符串 \(s\),可以对 \(s_i\) 的字符打乱,将这些字符串加入一个 trie 里面求节点数量最小值. \(n\le 16, \sum ...
- C#本地时间转Unix时间
获取Unix时间最高效的方法 /// <summary> /// 扩展方法, 本地时间转Unix时间; (如 本地时间 "2020-01-01 20:20:10" 转换 ...
- .net 中的几种事务
在一个MIS系统中,没有用事务那就绝对是有问题的,要么就只有一种情况:你的系统实在是太小了,业务业务逻辑有只要一步执行就可以完成了.因此掌握事务处理的方法是很重要,进我的归类在.net中大致有以下4种 ...
- PostgreSQL处理膨胀与事务回卷
一.表膨胀查询与处理 1.创建扩展 create extension pgstattuple; 2.表膨胀查询 pgstattuple提供了pgstatetuple()和pgstatindex()两个 ...
- PostgreSQL事务隔离级别
一.概念 并发控制是多个事务在并发运行时,数据库保证事务一致性(Consistency)和隔离性(Isolation)的一种机制.PostgreSQL使用了多版本并发控制技术的一种变体:快照隔离San ...
- because another server process exited abnormally and possibly corrupted shared memory
一.环境 系统平台:Linux x86-64 Red Hat Enterprise Linux 7 版本:4.1.1 二.症状 Red Hat 7.2操作系统部署HGDB 4.1.1后,日志经常出 ...