WPF 位置转化和动画
位置转化
private void DrawScale()
{
double majorTickUnitValue = this.ScaleSweepLenth / this.MajorDivisionsCount;
double minorTickUnitValue = this.ScaleSweepLenth / this.MinorDivisionsCount;
double correctionOffset = this.rootGrid.Width / ; Double minvalue = MinValue; ; //画主刻度
for (int i = ; i < this.MajorDivisionsCount; i++)
{
Rectangle majorTickRect = new Rectangle();
majorTickRect.Height = this.MajorTickSize.Height;
majorTickRect.Width = this.MajorTickSize.Width;
majorTickRect.Fill = new SolidColorBrush(this.MajorTickColor); TransformGroup majorTickTransformGroup = new TransformGroup();
TranslateTransform majorTickTranslateTransform = new TranslateTransform(); majorTickTranslateTransform.X = i * majorTickUnitValue - correctionOffset;
majorTickTranslateTransform.Y = this.MajorMinorDivisionOffset; majorTickTransformGroup.Children.Add(majorTickTranslateTransform);
majorTickRect.RenderTransform = majorTickTransformGroup; this.rootGrid.Children.Add(majorTickRect);
} }
动画
private void MovePointerUsingAnimate(double oldValue, double newValue)
{
if (null != this.pointer)
{
double distanceOldAndNew = Math.Abs(newValue - oldValue);
DoubleAnimation doubleAnimation = new DoubleAnimation();
double animDuration = 0.0f;
Storyboard movingPointerStoryboard = new Storyboard();
TransformGroup transformGroup = new TransformGroup();
TranslateTransform transform = new TranslateTransform(); doubleAnimation.From = oldValue;
doubleAnimation.To = newValue;
animDuration = distanceOldAndNew * animatingSpeedFactor;
doubleAnimation.Duration = new Duration(TimeSpan.FromMilliseconds(animDuration)); movingPointerStoryboard.Completed +=new EventHandler(MovingPointerStoryboardStoryboard_Completed);
movingPointerStoryboard.Children.Add(doubleAnimation);
Storyboard.SetTarget(doubleAnimation, this.pointer); transformGroup.Children.Add(transform);
this.pointer.RenderTransform = transformGroup; Storyboard.SetTargetProperty(doubleAnimation,
new PropertyPath("(Path.RenderTransform).(TransformGroup.Children)[0].(TranslateTransform.X)")); if (Math.Abs(oldValue - newValue) > )
{
movingPointerStoryboard.Begin();
} }
}
WPF 位置转化和动画的更多相关文章
- WPF 3D 平移模型+动画(桥梁检测系统)
原文:WPF 3D 平移模型+动画(桥梁检测系统) 关于WPF 3D,网上有很多旋转的例子,但是关于平移的例子并不是太多.本文并非WPF 3D扫盲篇,因此需要对WPF 3D有一定了解,至少知道View ...
- WPF加载等待动画
原文:WPF加载等待动画 原文地址:https://www.codeproject.com/Articles/57984/WPF-Loading-Wait-Adorner 界面遮罩 <UserC ...
- 【WPF】两则动画效果
原文:[WPF]两则动画效果 引言 利用WPF的动画可以轻而易举的实现各种各样的特效,如擦除,滑动进入等,先看两个效果图 第一个效果 这个动画其实利用了OpacityMask和LinearGradie ...
- WPF 加载等待动画
原文:WPF 加载等待动画 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_29844879/article/details/80216587 ...
- WPF实现射线效果动画
原文:WPF实现射线效果动画 最近的一个项目中有个需求是:从一个点向其它多个点发出射线,要求这些射线同时发出,同时到达. 我就想到了用WPF的动画来实现.WPF中有Line类用于绘制直线,但这个类中好 ...
- WPF特效-鱼游动动画3
原文:WPF特效-鱼游动动画3 WPF不支持骨骼,故使用3DMax导出了序列模型文件(.mtl;.obj). 方法1: 使用Blend 2013打开所有obj文件,拖动排列一下即可在usercontr ...
- WPF特效-鱼游动动画
原文:WPF特效-鱼游动动画 实现思路: 通过VisualBrush Binding方式获取鱼局部图像,在Viewport3D中创建ModelVisual3D块并把获取到的局部 ...
- WPF特效-鱼游动动画2
原文:WPF特效-鱼游动动画2 纯代码撸动画实践2: 原图:(png格式) ...
- WPF 精修篇 路径动画
原文:WPF 精修篇 路径动画 路径动画 是让一个对象围绕指定Path 的运动路径 进行移动的动画 举栗子 路径动画 使用 Blend 来设置 是十分简单的 首先用工具 笔 点出一条线 新建一个圆形 ...
随机推荐
- 一些C++内容的总结(2013.10.17)
1.using namespace std;使用的是C++标准库当中的一些变量,比如cout,cin等.但是using namespace std作用域只对当前文件内作用,所以using namesp ...
- JavaScript学习笔记-数组(1)
数组是值的有序集合.每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称为索引.JavaScript数组是无类型的:数组元素可以是任意类型,并且同一个数组中的不同元素也可能有不同的类型.数 ...
- 关于web上的图片格式问题,新的彩蛋
我们耳熟能详的几种格式无外乎 png-8,png-24,jpeg,gif,svg. 但是上面的那些都不是能够另人惊喜的答案.关于新技术的是Webp,Apng.(是否有关注新技术,新鲜事物) 1)Web ...
- CSS的兼容性解决方案
什么是兼容性? 同一个网页,在不同浏览器下(IE6.IE7.IE8)下的显示效果不一致,这就是说"CSS不兼容". IETESTer可以同时测试IE5.5.IE6.IE7.IE8这 ...
- 使用httpclient发送post请求与get请求
最近因为项目的要求,需要使用httpclient来发送请求.但是查阅了许多博客,大家发送请求的方法各不相同.原因是因为httpclient的jar包的不同版本,其内部方法也不相同.因此抛开具体用到的j ...
- Dao层和Service层设计
1.Dao接口层 public interface IBaseDao<T, ID extends Serializable>{ public abstract Serializable s ...
- css圆角 四边投影
-moz-border-radius: 30px;-webkit-border-radius: 30px; border-radius:30px; -webkit-box-shadow:0 0 10p ...
- Facebook SDK
<?php session_start(); header('Content-type:text/html; charset=UTF-8'); require_once './facebook- ...
- jquery Loading图片延迟加载特效
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- A3992学习记录
ATmega64+A3992驱动步进电机 //ATmega 64a 电机驱动板程序//编译环境 AVR Studio 4.17/AVR GCC//系统外部时钟16M//作者:虞恺 //日期:2012. ...