WPF编程,通过Path类型制作沿路径运动的动画另一种方法。
原文:WPF编程,通过Path类型制作沿路径运动的动画另一种方法。
版权声明:我不生产代码,我只是代码的搬运工。 https://blog.csdn.net/qq_43307934/article/details/87358989
上一篇文章给了一个这方面的例子,那个文章里是通过后台按钮事件进行动画的开始、停止、继续等。
这里给出的是通过前台XAML来实现。
1、前台
定义路径、定义运动的主体,这里是一圆。
<Path Stroke="Black"
StrokeThickness="1"
Data="M 96 288 C 576 0,0 0,480 288" />
<Path Fill="Blue">
<Path.Data>
<EllipseGeometry x:Name="elips"
Center="90 290"
RadiusX="12"
RadiusY="12" />
</Path.Data>
</Path>
2、增加控制按钮
增加四个控制按钮,
增加四个触发动作。
<StackPanel>
<Button Width=" 100"
Height=" 30"
x:Name="Beginbutton"
Content="开始"
Margin="258,0,259,0" />
<Button Width=" 100"
x:Name="Pausepbutton"
Height=" 30"
Content="暂停"
Margin="258,0,259,0" />
<Button Width=" 100"
x:Name="Resumebutton"
Height=" 30"
Content="恢复"
Margin="258,0,259,0" />
<Button Width=" 100"
x:Name="Stopbutton"
Height=" 30"
Content="停止"
Margin="258,0,259,0" />
<!-- 触发器及故事板的组合 -->
<StackPanel.Triggers>
<!-- 很好翻译了:在按键startButton被点击的时候触发 -->
<EventTrigger SourceName="Beginbutton"
RoutedEvent="Button.Click">
<!-- 事件触发以后做什么呢?由故事板来解决,它来产生动画效果。 -->
<BeginStoryboard x:Name="MyBeginStoryboard">
<Storyboard x:Name="story"
Storyboard.TargetName="elips"
Storyboard.TargetProperty="Center">
<PointAnimationUsingPath Duration="0:0:3"
AutoReverse="True"
RepeatBehavior="Forever">
<PointAnimationUsingPath.PathGeometry>
<PathGeometry Figures="M 96 288 C 576 0,0 0,480 288"
</PointAnimationUsingPath.PathGeometry>
</PointAnimationUsingPath>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<!-- 同理可证:pauseButton被点击的时候故事全部暂停 :PauseStoryboard -->
<EventTrigger SourceName="Pausepbutton"
RoutedEvent="Button.Click">
<PauseStoryboard BeginStoryboardName="MyBeginStoryboard">
</PauseStoryboard>
</EventTrigger>
<!-- 同理可证:pauseButton被点击的时候故事全部重新开始 :ResumeStoryboard -->
<EventTrigger RoutedEvent="Button.Click"
SourceName="Resumebutton">
<ResumeStoryboard BeginStoryboardName="MyBeginStoryboard">
</ResumeStoryboard>
</EventTrigger>
<!-- 同理可证:pauseButton被点击的时候故事全部重新完全停掉 :StopStoryboard -->
<EventTrigger RoutedEvent="Button.Click"
SourceName="Stopbutton">
<StopStoryboard BeginStoryboardName="MyBeginStoryboard">
</StopStoryboard>
</EventTrigger>
</StackPanel.Triggers>
</StackPanel>
WPF编程,通过Path类型制作沿路径运动的动画另一种方法。的更多相关文章
- WPF编程,通过Path类型制作沿路径运动的动画一种方法。
原文:WPF编程,通过Path类型制作沿路径运动的动画一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/de ...
- WPF编程,通过Double Animation动态更改控件属性的一种方法。
原文:WPF编程,通过Double Animation动态更改控件属性的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/a ...
- WPF编程,通过KeyFrame 类型制作控件线性动画的一种方法。
原文:WPF编程,通过KeyFrame 类型制作控件线性动画的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/articl ...
- 用css3制作旋转加载动画的几种方法
以WebKit为核心的浏览器,例如Safari和Chrome,对html5有着很好的支持,在移动平台中这两个浏览器对应的就是IOS和Android.最近在开发一个移动平台的web app,那么就有机会 ...
- 网络编程(一):用C#下载网络文件的2种方法
使用C#下载一个Internet上的文件主要是依靠HttpWebRequest/HttpWebResonse和WebClient.具体处理起来还有同步和异步两种方式,所以我们其实有四种组合. 1.使用 ...
- VS编程,C#串口通讯,通过串口读取数据的一种方法
一.可能需要的软件:1.虚拟串口vspd(Virtual Serial Port Driver,用来在电脑上虚拟出一对串口,模拟通讯. 2.友善串口调试助手,用来发送.读取数据. 二.思路1.查询本机 ...
- filebeat配置不同路径下的log的两种方法
第一种方法: vim /etc/filebeat/filebeat.yml filebeat.inputs: # Each - is an input. Most options can be set ...
- Java从文件路径中获取文件名的几种方法
举例:String fName =" G:\Java_Source\navigation_tigra_menu\demo1\img\lev1_arrow.gif " 方法一: 1 ...
- C# web api 返回类型设置为json的两种方法
每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默.我眼中的程序员大多都不 ...
随机推荐
- 微信小程序开发--背景图显示
这两天开发微信小程序,在设置背景图片时,发现在wxss里面设置 background-image:(url) 属性,不管是开发工具还是线上都无法显示.经过查资料发现,background-image ...
- 使用动态跟踪技术SystemTap监控MySQL、Oracle性能
[IT168 技术]本文根据吕海波2018年5月11日在[第九届中国数据库技术大会]上的演讲内容整理而成. 讲师介绍: 吕海波,美创科技研究员,ITPUB管理版版主.出版技术书籍<Oracle内 ...
- MySQL索引背后的数据结构及算法原理(employees实例)
摘要 http://blog.codinglabs.org/articles/theory-of-mysql-index.html 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特 ...
- IP解析计算机名称
#-*- coding: UTF-8 -*- import subprocess,sys,threading reload(sys) sys.setdefaultencoding('utf-8') d ...
- Use Jupyter notebook on Fedora 28
生产环境使用 Fedora 28, 并且需要搭建一个 Jupyter 的notebook 方便使用,所搭建的Jupyter 支持单人远程 密码访问 1. 安装 安装 Jupyter , 出错 [roo ...
- python基础学习15----异常处理
异常处理,是编程语言或计算机硬件里的一种机制,用于处理软件或信息系统中出现的异常状况(即超出程序正常执行流程的某些特殊条件). 1.异常的类型 异常的类型多种多样,常见的异常有: AttributeE ...
- Linux 基本概念 & 命令
0. Linux 理解 Linux 是一种操作系统,主要应用于服务器. Linux 性能稳定,其中的许多版本不收费(如CentOS),占用资源较少. 1. 命令行的状态 在 Linux 命令行下以上分 ...
- 一个汇编的HelloWorld!
花了一下午时间,感觉最坑的是,书写代码的个数和编译器的坑比较多,还各种版本的编译器! 会让人“眼花缭乱”! 主要代码 将文件保存为*.asm include io32.inc .data ;数据 sr ...
- SQL SERVER 2005镜像配置(有无见证服务器都行)
我用的是没有见证的,但找的文章里有镜像,所以都做一下补充,两个网址做的参考, 之所以在从他们那再补充一次是为了怕有一天他们的文章被删了我这还有个备用的,这两篇写的不错 其他的都不行 特别乱,这是找的最 ...
- 【Android自动化】Subprocess.check_output()简单用法
# -*- coding:utf-8 -*- import os import sys import subprocess from uiautomator import device as d cm ...