wpf动画同步闪烁
public class BlinkAnimation : Animatable
{
/// <summary>
/// 单例,保持所有闪烁的动画同步
/// </summary>
public static readonly BlinkAnimation Instance = new BlinkAnimation(); public double BlinkOpacity
{
get { return (double)GetValue(BlinkOpacityProperty); }
set { SetValue(BlinkOpacityProperty, value); }
} // Using a DependencyProperty as the backing store for BlinkOpacity. This enables animation, styling, binding, etc...
public static readonly DependencyProperty BlinkOpacityProperty =
DependencyProperty.Register("BlinkOpacity", typeof(double), typeof(BlinkAnimation), new PropertyMetadata(0.0)); /// <summary>
/// 闪烁动画,用于动画同步
/// </summary>
public BlinkAnimation()
{
try
{
DoubleAnimationUsingKeyFrames doubleAnimation = new DoubleAnimationUsingKeyFrames
{
RepeatBehavior = RepeatBehavior.Forever,
Duration = TimeSpan.FromSeconds(1.5)
}; DiscreteDoubleKeyFrame ddkf1 = new DiscreteDoubleKeyFrame(0.0, KeyTime.FromTimeSpan(TimeSpan.FromSeconds()));
DiscreteDoubleKeyFrame ddkf2 = new DiscreteDoubleKeyFrame(1.0, KeyTime.FromTimeSpan(TimeSpan.FromSeconds(0.75))); doubleAnimation.KeyFrames.Add(ddkf1);
doubleAnimation.KeyFrames.Add(ddkf2); if (BlinkOpacityProperty!=null)
{
BeginAnimation(BlinkOpacityProperty, doubleAnimation);
}
}
catch (Exception)
{
// ignored
}
} protected override Freezable CreateInstanceCore()
{
return Instance;
}
}
使用方法:
<!--闪烁动画同步控制类-->
<ObjectDataProvider x:Key="BlinkerOdp"
ObjectType="{x:Type animation:BlinkAnimation}" />
<Rectangle Fill="White"
DataContext="{StaticResource BlinkerOdp}"
Opacity="{Binding BlinkOpacity}"
x:Name="rect"
Visibility="Collapsed" />
感谢阅读
wpf动画同步闪烁的更多相关文章
- WPF 动画:同为控件不同命 - 简书
原文:WPF 动画:同为控件不同命 - 简书 1. 及格与优秀 读大学的时候,有一门课的作业是用 PPT 展示. 但是我们很多同学都把 PPT 当做 Word 来用,就单纯地往里面堆文字. 大家都单纯 ...
- 【WPF学习】第四十八章 理解WPF动画
在许多用户框架中(特别是WPF之前的框架,如Windows窗体和MFC),开发人员必须从头构建自己的动画系统.最常用的技术是结合使用计时器和一些自定义的绘图逻辑.WPF通过自带的基于属性的动画系统,改 ...
- wpf动画概述
http://msdn.microsoft.com/zh-cn/library/vstudio/ms752312(v=vs.100).aspx Windows Presentation Foundat ...
- [WPF] 动画Completed事件里获取执行该动画的UI对象
原文:[WPF] 动画Completed事件里获取执行该动画的UI对象 昨天群里有位童鞋提出如何在动画完成事件Completed里获取到执行该动画的UI对象. WPF里动画的Completed的本身并 ...
- 扩展 WPF 动画类
原文:扩展 WPF 动画类 扩展 WPF 动画类 Charles ...
- 【WPF学习笔记】[转]周银辉之WPF中的动画 && 晓风影天之wpf动画——new PropertyPath属性链
(一)WPF中的动画 动画无疑是WPF中最吸引人的特色之一,其可以像Flash一样平滑地播放并与程序逻辑进行很好的交互.这里我们讨论一下故事板. 在WPF中我们采用Storyboard(故事板)的方式 ...
- Jquery 自定义动画同步进行如何实现?
需求描述:我需要对不懂的两个HTML对象进行操作,同时开始动画,同时结束动画. 遇到问题:如果先后对连个对象进行 animate动画,那么第一个会先运行,等第一个运行完了运行第二个,这样就不同步了. ...
- WPF动画基础及实例
1.介绍 在之前做winform中, 也做过一些动画效果, 但是整个动画都需要我们自己去编写, 利用计时器或线程去直接操作UI元素的属性, 然而在WPF中, 则是通过一种全新的基于属性的动画系统, 改 ...
- WPF动画结束后的行为方式
原文:WPF动画结束后的行为方式 在WPF中可以使用Animation来完成动画功能,如移动,旋转等,最近写的一个程序需要实现控件的移动,包括自动移动和手动控制.原理很简单,就是改变控件的Margin ...
随机推荐
- [HDU3247]Resource Archiver
AC自动机+状压DP 首先对所有串建AC自动机,然后对于每个资源串,算出从串末走到其他资源串末所需的距离(中途避开非法点) 也就是算出两两间的距离...然后就变成旅行商问题了. 计算距离的时候要考虑一 ...
- BZOJ 2219: 数论之神
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2219 N次剩余+CRT... 就是各种奇怪的分类讨论.. #include<cstrin ...
- VS2012 TFS解决离职后代码遗留未迁入问题
第一步: 在命令行中输入 C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE 第二步: 根据用户查找该用户下workspac ...
- ubuntu11.0静态IP地址配置
1. 静态IP地址配置 配置文件路径:/etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet ...
- 【JAVA】SWING_ 界面风格
在java中,界面外观的管理是由UIManager类来管理的.不同的系统上安装的外观不一样 ,默认的是java的跨平台外观. 1.获取系统所有外观 import javax.swing.*; impo ...
- 配置 java web Tomcat
index.jsp-->换为默认的MyEclipse JSP Editor打开方法:window -->Preference-->general-->editors--> ...
- 应用fstream格式化输出
我举一个我应用的例子 file.open("shoroud.jrf" ,ios_base::trunc); //打开文件,清空文件内容 if(!file.good()) { pri ...
- 如何初始化grunt
为什么使用任务运行工具Grunt -- 官方解释 简而言之,自动化.当你处理诸如代码最小化, 代码编译, 单元测试, 代码规范校验等等重复任务时, 你必须要做的工作越少,你的工作就变得越简单.在你完成 ...
- 认识Linux分区
前言 今年目标是熟练Linux系统与内核,没有老司机带只能自己慢慢参照鸟哥教程学习了.如果有老司机麻烦指导一下便捷路线,作为这方便的新手还是很乐意接受各位的意见.今天第一步就是熟悉安装Linux中分区 ...
- [知了堂学习笔记]_集合接口list与集合接口set的区别
在Java中 除了 Map以外的集合的根接口都是Collection接口,而在Collection接口的子接口中,最重要的莫过于List和Set集合接口. 今天我们就来谈谈List集合接口与Set集合 ...