热门:网页模板.net视频教程JQueryMVCjsonExtJs源码示例三级联动JQuery菜单
您现在的位置:.Net中文社区>> Silverlight>>正文内容

在Silverlight中使用DoubleAnimation为对象添加动画效果

发布时间:2010年03月09日点击数: 紫色永恒

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

  1. <Canvas> 
  2.         <Canvas.Resources> 
  3.             <Storyboard x:Name="MyRect"></Storyboard> 
  4.         </Canvas.Resources> 
  5.     </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,下面看一个例子

  1.  <Canvas> 
  2.         <Canvas.Resources> 
  3.             <Storyboard x:Name="CatSB"> 
  4.                 <DoubleAnimation  
  5. Storyboard.TargetName="MyCat" Storyboard.TargetProperty="UIElement.Opacity"                             Duration="00:00:02" From="1.0" To="0.0"                              AutoReverse="True"  RepeatBehavior="Forever">                               
  6.                 </DoubleAnimation> 
  7.             </Storyboard> 
  8.         </Canvas.Resources> 
  9.         <Image Source="cat.jpg" x:Name="MyCat" ></Image> 
  10.     </Canvas> 

本站热点业务

更多模板/案例展示

关于我们 | 联系我们 | 团队日志 | 网站地图 | 网站合作