首页 / 软件开发 / Silverlight / 稳扎稳打Silverlight(11) - 2.0动画之ColorAnimation,DoubleAnimation……
稳扎稳打Silverlight(11) - 2.0动画之ColorAnimation,DoubleAnimation……2010-04-26 cnblogs webabcd稳扎稳打Silverlight(11) - 2.0动画之ColorAnimation,DoubleAnimation,PointAnimation,内插关键帧动画介绍Silverlight 2.0 动画:ColorAnimation - 在两个 Color 值之间做线性内插动画处理DoubleAnimation - 在两个 Double 值之间做线性内插动画处理PointAnimation - 在两个 Point 值之间做线性内插动画处理内插关键帧动画 - 在 Color 或 Double 或 Point 动画中内插关键帧,以做线性, 离散, 三次贝塞尔曲线的动画处理动态改变动画 - 通过程序控制,动态地改变动画在线DEMOhttp://www.cnblogs.com/webabcd/archive/2008/10/09/1307486.html示例1、ColorAnimation.xaml<UserControl x:Class="Silverlight20.Animation.ColorAnimation"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<StackPanel HorizontalAlignment="Left">
<Ellipse x:Name="ellipse" Fill="Red" Width="200" Height="100">
<Ellipse.Triggers>
<!--
RoutedEvent - 所属对象的路由事件,仅有Loaded这个事件
-->
<EventTrigger RoutedEvent="Ellipse.Loaded">
<BeginStoryboard x:Name="beginStoryboard">
<Storyboard x:Name="storyboard">
<!--ColorAnimation - 在两个 Color 值之间做线性内插动画处理-->
<!--
Storyboard.TargetName - 要进行动画处理的对象的名称
Storyboard.TargetProperty - 要进行动画处理的对象的属性
BeginTime - 时间线在被触发 BeginTime 的时间后才能开始播放
TimeSpan - [-][日.]时:分:秒[.1位到7为的秒后的小数](可为正;可为负;可为空;默认值为 0)
From - 动画的起始值
To - 动画的结束值
By - 动画从起始值开始计算,所需变化的总量(To 优先于 By)
Duration - 时间线的持续时间
TimeSpan - [-][日.]时:分:秒[.1位到7为的秒后的小数]
Automatic - 自动确定
Forever - 无限长
AutoReverse - 动画完成后是否要原路返回。默认值为 false
RepeatBehavior - 动画重复播放的时间、次数或类型
TimeSpan - [-][日.]时:分:秒[.1位到7为的秒后的小数]
nx - 播放次数。1x, 2x, 3x
Forever - 永久播放
SpeedRatio - 时间线的速率的倍数。默认值 1
FillBehavior - 动画结束后的行为 [System.Windows.Media.Animation.FillBehavior枚举]
FillBehavior.HoldEnd - 动画结束后,保留动画属性的结束值。默认值
FillBehavior.Stop - 动画结束后,恢复动画属性为其初始值
-->
<ColorAnimation
Storyboard.TargetName="ellipse"
Storyboard.TargetProperty="(Ellipse.Fill).(SolidColorBrush.Color)"
BeginTime="00:00:0"
From="Red"
To="Yellow"
Duration="Automatic"
AutoReverse="True"
RepeatBehavior="3x">
</ColorAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Ellipse.Triggers>
</Ellipse>
</StackPanel>
</UserControl>