wpf中对元素使用的wpf 炫酷动画效果,怎么删除了

wpf动画控制方法
一.控制动画两种方式(需要注意的是命名作用域必须相同)
以TriggerAction的方式调用内部StoryBoard方法
#PauseStoryboard:暂停 Storyboard。
#ResumeStoryboard:继续暂停的 Storyboard。
#SetStoryboardSpeedRatio:更改 Storyboard 速度。
#SkipStoryboardToFill:使 Storyboard 前进到其填充期的末尾(如果有填充期)。
#StopStoryboard:停止 Storyboard。
#RemoveStoryboard:移除 Storyboard。
2.使用代码声明storyboard,调用方法
From="0" To="300" Duration="0:0:5" /&
此时不需要定义Storyboard.TargetName
Storyboard sb = this.FindResource("demoStoryboard") as
sb.Begin(demo2);
还是一定要注意名称范围
二.在没有StoryBoard情况下使用Animation
xaml是不支持的,必须使用代码进行调用
var _doubleAnimation = new DoubleAnimation();
_doubleAnimation.Duration = TimeSpan.FromSeconds(1);
_doubleAnimation.To = 200;
demo2.BeginAnimation(Rectangle.WidthProperty,
_doubleAnimation);
BeginAnimation实际上调用了ApplyAnimationClock方法
demo2.ApplyAnimationClock(Rectangle.WidthProperty,
_doubleAnimation.CreateClock());
三.关键帧动画
其概念与flash中的关键帧概念相同,关键帧越多,动画效果就越真实,blend中产生的代码大多为关键帧动画
Storyboard.TargetName="demoRectangle"
Storyboard.TargetProperty="Width"
Duration="0:0:10"&
四.缓冲效果
wpf4新增内容,内置的关键帧物理效果,具体的在线sl效果都可以看的到
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。WPF动画----基础
WPF动画是比较吸引人的地方,下面记录下各个动画基础,然后后续文章会给出利用动画做出的实例程序。竟然要学动画,那么动画的类层次结构肯定要清楚,要知道在学什么,学到哪里,,这是重要的:
下面简单分析一下,在TimeLine抽象类下面有三个继承与它的,分别是AnimationTimeline(这个是基于属性的动画系统,这个相当于个人表演),Media
Timelie(用于播放视频等),TimelineGroup(这个就是同步时间线的动画,里面包括Storyboard,故事版,这个相当于戏剧了,多人表演)。
Timeline就不用多说了,这里不是重点,下面主要讲AnimationTimeline和TimelineGroup。
(一)AnimationTimeline:竟然是属性系统,那么肯定和属性是密不相关的,属性就有很多了啊,什么类型都有,例如Width(double),margin(thickness),还有point类型啊,color类型啊,十分多,那么这个属性为了对这些类型进行动画处理,自身就为绝大多数普通的类型设置好了专门的动画类,例如上面的DoubleAnimationBase,CorlorAnimationBase,StringAnimationBase等,还有很多,这是广度,,那么深度有哪些呢?将其深度就要了解基于属性的动画中,大概分为三类。1.线性插值动画。2.关键帧动画。3.基于路径的动画。那么深度自然就出来了,就拿DoubleAnimationBase来讲,里面包括DoubleAnimation(线性插值),DoubleAnimationUsingKeyFrames(关键帧),DoubleAnimationUsingPath(基于路径)。一切都明了了。
在讲深度方面的知识之前,在上层的基础属性要先讲讲既然TimeLine类,因为所有的动画都继承TimeLine类,所以TimeLine类的属性,在所有动画中都能用到,下面给出TimeLine类的所有基本的属性:
1.BeginTime :设置启动时间,例如设置
"0:0:10",那么10秒后启动,这个用于多个动画的协调是很有用的。
2.Duartion : 设置动画持续时间。
3.SpeedRatio : 提高或减慢动画速度,呈倍数增长。
4.AccelerationRatio和DecelerationRatio:0~1之间,例如前者设定了0.3,那么在前30%的时间内是加速的,但是后面70%会补偿回来。
5.AutoReverse :自动原路返回。
6.FillBehavior
:枚举,分别有Stop和HoldEnd,前者是动画结束时立马返回原来的值,后者是固定为结束值啦。
7.RepeatBehavior:就是重复行为了,可以指定次数或者指定时间内的重复动画。
说了一大堆,其实这些都是有用的,因为他们都是动画基本类型。
下面讲一下深度,上面已经讲过,就拿DoubleAnimationBase来讲,其实广度的话,如果了解了一个,其他都会了。所以现在展开讲深度。
1.DoubleAnimation:
线性动画,线性动画有三个属性是比较重要的:
①from
就是设置动画属性从哪里开始,如果不设置的话默认为物体本身的那个值。
就是设置动画属性去哪里,如果不设置的话就默认为物体本身的那个值。
就是设置数量改变值,例如设置widthaAnimation.By=10,那么意思就是widthAnimation.To=widthAnimation.Width+10;
下面给出图,代码的方式启动动画并且动画之后怎么删除:
都说过的了,其中有一个IsCuMulative,这个属性是设置动画间的融合的,就是说如果一个动画运行的时候插入另外一个动画,那么如果这个属性设置为true的话,就会融合一起,不会断开。AnimationTimeline大概就讲到这里了,其他属性一样的设置,变通一下。
2.DoubleAnimationUsingKeyFrame:&这个是关键帧动画。
设定好各个关键帧,其实关键帧就有两个要设置的,一个KeyTime,到达Value的时间,第二个Value,这个关键帧要到达的值。所以你看上面是匀速的。
2.DoubleAnimationUsingPath:&这个是基于路径的动画。
下面给出利用路径的动画实例:
先把路径定义好。
然后就是使用了,很简单
& & &Ellipse
Height="18" Width="30" Canvas.Left="353" Canvas.Top="27" Fill="Red"
Name="image"&
&Ellipse.Triggers&
&EventTrigger
RoutedEvent="Ellipse.MouseLeave"&
&BeginStoryboard&
&Storyboard&
&DoubleAnimationUsingPath
Storyboard.TargetName="image"
Storyboard.TargetProperty="(Canvas.Left)" Duration="0:0:10"
PathGeometry="{StaticResource ResourceKey=path}"
Source="X"&&/DoubleAnimationUsingPath&
&DoubleAnimationUsingPath
Storyboard.TargetName="image"
Storyboard.TargetProperty="(Canvas.Top)" Duration="0:0:10"
PathGeometry="{StaticResource ResourceKey=path}"
Source="Y"&&/DoubleAnimationUsingPath&
&/Storyboard&
&/BeginStoryboard&
&/EventTrigger&
&/Ellipse.Triggers&
&/Ellipse&
(一)TimelineGroup:&这个就有意思啊,利用xaml来创建动画,十分的多样化,话说上面也能用xaml的方式创建。这个类下面有一个叫Storyboard的类,这是故事板,大家都喜欢看故事,故事板就好像是一场戏剧,上面有很多东西在表演,形成了美丽的画面,我们下面开始记录故事板(Storyboard)。
首先故事板在xaml中能放很多位置啊,直接放在控件的Resource的Style的触发器下。能放在字典上面,然后通过引用引用到窗口的xaml代码中。故事板有两个附加属性比较重要,Storyboard.TargetName:如果这个放在Storyboard上面就应用到下面所有动画都是属于这个Target的,如果放到Storyboard里面的其中一个动画,你知道怎么了。Storyboard.TargetProperty,这个动画是设置要应用动画的属性。下一篇讲记录动画需要用到的各种触发器还有动画中的缓动函数(重头戏)~~
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 wpf动画 的文章

 

随机推荐