一、效果图:

二、前台代码:

<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();

最新文章

  1. 伙伴们休息啦canvas绘图夜空小屋
  2. mysql数据库史上最详细起步教程(1)
  3. How To Install Proxmox Nested on VMware ESXi (Full Support OpenVZ &amp; KVM)
  4. php防注入
  5. RSS
  6. Hadoop HDFS文件常用操作及注意事项
  7. (转载)UITableView使用详解
  8. ionic默认样式android和ios的一些不同(当时真是纠结啊~)
  9. python 编程之计算器
  10. HDU 5144 NPY and shot(三分法)
  11. Socket 学习(三).5 UDP 的弱点
  12. MD5算法学习整理
  13. win10更新失败——适用于Windows 10 Version 1709 的03累积更新,适合基于x64系统(KB4088776)更新失败
  14. Redis的数据结构之sorted-set
  15. Matlab文本处理:提取指定内容
  16. JFinal Web开发学习(二)目录、架构、package设计
  17. Form表单验证神器: BootstrapValidator
  18. [日常] PHP设置 include_path 配置选项
  19. Servlet各版本web.xml的头文件配置模板
  20. java编译优化

热门文章

  1. 命令行部署repmgr管理集群+switchover+切换测试
  2. c++ stl 详解 csp备考
  3. Session和Shiro的Session区别
  4. UBUNTU16.04卸载安装protobuf
  5. 微信小程序更新机制
  6. Vue的认识、入门小历史
  7. Zstack迁移实战记录1
  8. axios实现跨域的问题 vue实现跨域
  9. JZOJ 3232. 【佛山市选2013】排列
  10. python 操作 WhiteSpace 语言