当前位置: 首页 > news >正文

WPF —— 关键帧动画

wpf动画类型
1<类型>Animation这些动画称为from/to/by动画或者叫基本动画,他们会在起始值或者结束值进行动画处理,常用的例如
<DoubleAnimation>

2 <类型>AnimationUsingKeyFrames: 关键帧动画,功能要比from/to这些动画功能要强大,可以在任意地一个帧添加对应得动画效果甚至可以设置动画过程当中的
运行的速率:eg:doubleAnimationUsingKeyFrames

3 <类型>AnimationUsingPath 路径动画,主要支持使用几何图形来生成路径动画值

4 <类型>AnimationBase 动画基类,是from/to和关键帧动画的基类,实现自定义动画可以实现该类

关键帧动画: 
 doubleAnimationusingkeyframes // double类型的关键帧动画
 ObjectAnimationusingkeyframes // Object类型的关键帧动画
 ColorAnimationusingkeyframes // 颜色类型的关键帧动画
 StringAnimationusingkeyframes // 字符串类型的关键帧动画

动画的几要素: 
1 做动画的标签 RectAnle
2 触发做动画的条件,触发器
3 添加Storyboard
4 添加动画类型 <DoubleAnimationUsingKeyFrames>
5 动画类型标签添加 : 动画元素和动画属性 两个属性
                    Storyboard.TargetName 确定动画元素
                     Storyboard.TargetProperty 做动画的属性

动画常用的属性:
                            AutoReverse="True" 动画是否支持相反方向的动画
                            RepeatBehavior="Forever" 重复的行为 : forever永远
                            Storyboard.TargetName 确定动画元素
                             Storyboard.TargetProperty 做动画的属性

颜色关键帧动画

<Button Width="200" Height="200" Name="btn"><Button.Triggers><EventTrigger RoutedEvent="Button.Click"><BeginStoryboard><Storyboard><ColorAnimationUsingKeyFrames AutoReverse="true"RepeatBehavior="Forever"Storyboard.TargetName="btn"Storyboard.TargetProperty="Background.(SolidColorBrush.Color)"><LinearColorKeyFrame KeyTime="0" Value="Red"></LinearColorKeyFrame><LinearColorKeyFrame KeyTime="0:0:0.1" Value="Blue"></LinearColorKeyFrame><LinearColorKeyFrame KeyTime="0:0:0.2"Value="Green"></LinearColorKeyFrame><LinearColorKeyFrame KeyTime="0:0:0.3"Value="Yellow"></LinearColorKeyFrame></ColorAnimationUsingKeyFrames></Storyboard></BeginStoryboard></EventTrigger></Button.Triggers>
</Button>

字符串关键帧动画

<Button Width="100" Height="100" Margin="0,300,0,0" Name="btn1"><Button.Triggers><EventTrigger RoutedEvent="Button.KeyDown"><BeginStoryboard><Storyboard><!--HoldEnd 保留动画最后一帧的效果,如果值是stop,动画最终效果是恢复到原样--><StringAnimationUsingKeyFrames  FillBehavior="HoldEnd"Storyboard.TargetName="btn1"Storyboard.TargetProperty="(Button.Content)"><!--离散型关键帧--><DiscreteStringKeyFrame KeyTime="0" Value="5s"></DiscreteStringKeyFrame><DiscreteStringKeyFrame KeyTime="0:0:1"Value="4s"></DiscreteStringKeyFrame><DiscreteStringKeyFrame KeyTime="0:0:2"Value="3s"></DiscreteStringKeyFrame><DiscreteStringKeyFrame KeyTime="0:0:3"Value="2s"></DiscreteStringKeyFrame><DiscreteStringKeyFrame KeyTime="0:0:4"Value="1s"></DiscreteStringKeyFrame><DiscreteStringKeyFrame KeyTime="0:0:5"Value="0s"></DiscreteStringKeyFrame></StringAnimationUsingKeyFrames></Storyboard></BeginStoryboard></EventTrigger></Button.Triggers>
</Button>

对象类型的关键帧

<Button Width="100" Height="100" Margin="0,-300,0,0" Name="btn2"><Button.Triggers><EventTrigger RoutedEvent="Button.MouseLeave"><BeginStoryboard><Storyboard><ObjectAnimationUsingKeyFrames Storyboard.TargetName="btn2" Storyboard.TargetProperty="(UIElement.Visibility)"AutoReverse="True"RepeatBehavior="Forever"><DiscreteObjectKeyFrame KeyTime="0:0:0.1" Value="{x:Static Visibility.Hidden}"></DiscreteObjectKeyFrame><DiscreteObjectKeyFrame KeyTime="0:0:0.3"Value="{x:Static Visibility.Visible}"></DiscreteObjectKeyFrame></ObjectAnimationUsingKeyFrames></Storyboard></BeginStoryboard></EventTrigger></Button.Triggers>
</Button>

http://www.lryc.cn/news/330630.html

相关文章:

  • Taro + vue3 小程序封装标题组件
  • babyAGI(6)-babyCoder源码阅读2任务描述部分
  • 生成式语言模型预训练阶段验证方式与微调阶段验证方式
  • flink on yarn
  • 用TOMCAT部署web项目教程
  • bash例子-source进程替换、alias不生效处理
  • rabbitmq死信交换机,死信队列使用
  • gitlab备份与恢复
  • HBase详解(1)
  • 深入理解数据结构第二弹——二叉树(2)——堆排序及其时间复杂度
  • 视频汇聚/安防监控/EasyCVR平台播放器EasyPlayer更新:新增【性能面板】
  • 【教程】Flutter 应用混淆
  • STM32中C编程引入C++程序
  • MySQL DBA 需要了解一下 InnoDB Online DDL 算法更新
  • 多态--下
  • 备考ICA----Istio实验16---HTTP流量授权
  • STM32-02基于HAL库(CubeMX+MDK+Proteus)GPIO输出案例(LED流水灯)
  • 华为审核被拒提示: 您的应用存在(最近任务列表隐藏风险活动)的行为,不符合华为应用市场审核标准
  • 数论与线性代数——整除分块【数论分块】的【运用】【思考】【讲解】【证明(作者自己证的QWQ)】
  • Linux系统下安装jdk与tomcat【linux】
  • matlab实现决策树可视化——信息增益、C4.5、基尼指数
  • 如何使用Python进行网络编程和套接字通信?
  • nodeJs 实现视频的转换(超详细教程)
  • Transformer - model architecture
  • Zookeeper学习一
  • SAR教程系列7——在cadence中用Spectrum工具FFT仿真ADC的ENOB、SNR等动态性能指标
  • 攻防世界:mfw[WriteUP]
  • mysq性能优化-my.cnf配置文件参数调整
  • ddres( ) 组站星双差方程和设计矩阵
  • 【OpenCV】图像像素的遍历