[Silverlight]使用DoubleAnimation为对象添加动画效果

简介:


在Silverlight中,你可以使用Storyboard控件来控制页面对象的属性从而实现动画效果。该控件可以做用于double,Color以及Point类型,比如以动画形式改变Rectangle的Opactity值(double型)。Storyboard可以在XAML中作为一个Resource声明,如在Canvs对象中可以做如下声明

    <Canvas>
        <Canvas.Resources>
            <Storyboard x:Name="MyRect"></Storyboard>
        </Canvas.Resources>
    </Canvas>

Storyboard控件提供两种实现动画的方式

DoubleAnimation -  使用 From/To 描述动画过程. DoubleAnimationUsingKeyFrames - 这是一个用来承载关键帧设置的容器,通过设置时间轴上关键真的方式描述动画过程.

 

DoubleAnimation

如上所述,DoubleAnimation通过使用From/To的方式来更改某个属性值从而实现动画效果。让我们来看看DoubleAnimation都包含了哪些属性:

Storyboard.TargetProperty - 这个属性用来指定DoubleAnimation所要作用的属性(格式:UIElement.Property)。 Storyboard.TargetName - 这个属性用来指定DoubleAnimation所作用的控件(一个提供了x:name的控件) . Duration - 设置动画的持续时间 (格式: [days.]hours:minutes:seconds)。 From/To - 设置属性的起始和结束值,From的默认值是1.0。一般情况下我们不需要修改它。   AutoReverse - 指示时间线在完成向前迭代后是否按相反的顺序播放 RepeatBehavior - 设置为"Forever”会使动画无限循环播放。你也可以设置一个循环次数或者持续时间 (格式: [days.]hours:minutes:seconds) .

 

OK,下面看一个例子

 

<Canvas> <Canvas.Resources> <Storyboard x:Name="CatSB"> <DoubleAnimation

Storyboard.TargetName="MyCat" Storyboard.TargetProperty="UIElement.Opacity" Duration="00:00:02" From="1.0" To="0.0" AutoReverse="True" RepeatBehavior="Forever">

</DoubleAnimation> </Storyboard> </Canvas.Resources> <Image Source="cat.jpg" x:Name="MyCat" ></Image> </Canvas>

然后在代码中使用CatSB.Begin()方法调用即可。

效果如下

 

 

 

 

 

 本文转自紫色永恒51CTO博客,原文链接:http://www.cnblogs.com/024hi/archive/2008/12/02/1345502.html ,如需转载请自行联系原作者

 

 

相关文章
Silverlight自定义数据绑定控件应该如何处理IEditableObject和IEditableCollectionView对象
原文:Silverlight自定义数据绑定控件应该如何处理IEditableObject和IEditableCollectionView对象 原创文章,如需转载,请注明出处。   最近在一直研究Silverlight下的数据绑定控件,发现有这样两个接口IEditableObject 和IEditableCollectionView,记录一下结论,欢迎交流指正。
841 0
Silverlight & Blend动画设计系列六:动画技巧(Animation Techniques)之对象与路径转化、波感特效
原文:Silverlight & Blend动画设计系列六:动画技巧(Animation Techniques)之对象与路径转化、波感特效   当我们在进行Silverlight & Blend进行动画设计的过程中,可能需要设计出很多效果不一的图形图像出来作为动画的基本组成元素。
1007 0