<DoubleAnimationUsingKeyFrames
Storyboard.TargetName="TextBlockAnimated"
Storyboard.TargetProperty="FontSize"
Duration="0:0:4"
RepeatBehavior="Forever">
<LinearDoubleKeyFrame
Value="0" KeyTime="0:0:0"/>
<LinearDoubleKeyFrame
Value="50" KeyTime="0:0:1"/>
<LinearDoubleKeyFrame
Value="80" KeyTime="0:0:2"/>
<LinearDoubleKeyFrame
Value="100" KeyTime="0:0:3"/>
<LinearDoubleKeyFrame
Value="0" KeyTime="0:0:4"/>
</DoubleAnimationUsingKeyFrames>
<ColorAnimation
Storyboard.TargetName="TextBlockAnimatedBrush"
Storyboard.TargetProperty="Color"
From="Black" To="White"
Duration="0:0:4"
RepeatBehavior="Forever">
</ColorAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</TextBlock.Triggers>
</TextBlock>
下面我们来分部说明这段代码的含义吧!
1
)首先我们声明了文本元素
TextBlock
,并且给
TextBlock
的
Triggers
属性进行复制,该属性的作用是获得对象上的时间触发器
EventTriggers
集合,我们可以在这个集合内部添加多个触发器对象,一旦客户端事件满足我们定义的触发器条件,就会执行内部的代码。
2
)第二步我们通过事件来控制情节串联图版
Storyboard
中的动画。这里需要注意的是
Silverlight
仅能够支持一种触发器操作—
<BeginStoryboard>
。
BeginStoryboard
属性表示情节串联图版,它的作用相当于动画的执行脚本。
Storyboard
还有两个很重要的附加属性:
Storyboard.TargetName
(表示目标元素)和
Storyboard.TargetProperty
(表示目标属性)。
3
)在我们这个示例中,我们添加了两个动画对象,一个用来使文本元素字号变大再变小的
DoubleAnimationUsingKeyFrames
和改变前景色
ColorAnimation
。我们用
DoubleAnimationUsingKeyFrames
对象操作字体大小,在
4
秒的动画时间内我们定义的字体从
0
到
50
到
80
到
100
最后到
0
。我们用
ColorAnimation
对象操作字体文本前景色的改变。在
4
秒的动画时间内从黑色变成白色。
需要注意的是我们这里使用的
DoubleAnimationUsingKeyFrames
和
ColorAnimation
属于不同的动画类型。
Silverlight
提供了两种动画:
From/To/By
基本动画和
Key-Frame
关键帧动画。
From/To/By
基本动画可以制作指定时间内对象从起始状态到结束状态之间的变化过程,这些变化只能是有规律的匀速变化。
Key-Frame
关键帧动画能够使对象属性在任意值之间变化,不局限于起始和结束的值。变化过程中每一个状态称作关键帧。