利用silverlight的storyboard可以很方便的製作一些簡單的“動畫”,比如控制一些控件double類型或者color類型的屬性值的變化。下面簡單地說其中最簡單的兩個方面:DoubleAnimation(控制控件double類型的屬性)和ColorAnimation(控制控件Color類型的屬性)。
前提知識:DoubleAnimation是一個執行動畫的動畫對象,ColorAnimation也只是一個執行動畫的動畫對象,他們不是獨立存在的,而是要寄存在管理動畫的演示圖板對象(storyboard對象)上。可以這樣理解:DoubleAnimation、ColorAnimation只是storyboard的一個屬性而已。
XAML代碼:
<UserControl.Resources>
<Storyboard x:Name="storyboard">
<DoubleAnimation Storyboard.TargetName="rectangle1" Storyboard.TargetProperty="Width"
From="160" To="300" Duration="0:0:2" AutoReverse="True" RepeatBehavior="forever">
</DoubleAnimation>
<ColorAnimation Storyboard.TargetName="rectangle1" Storyboard.TargetProperty="(rectangle1.Fill).Color"
From="Blue" To="Red" Duration="0:0:5" AutoReverse="True" RepeatBehavior="forever">
</ColorAnimation>
<ColorAnimation Storyboard.TargetName="rectangle1" Storyboard.TargetProperty="(rectangle1.Stroke).Color"
From="Green" To="Black" Duration="0:0:5" AutoReverse="True" RepeatBehavior="forever">
</ColorAnimation>
</Storyboard>
</UserControl.Resources>
<Grid x:Name="LayoutRoot" Background="White">
<Rectangle Height="100" HorizontalAlignment="Left" Margin="90,96,0,0" Name="rectangle1" Stroke="#FF16DB16"
StrokeThickness="10" VerticalAlignment="Top" Width="200" Fill="#FFD83232" />
</Grid>
</UserControl>
1、可以看到裏面的控件就只有一個:矩形 Rectangle
2、建立一個Storyboard對象
3、在Storyboard裏添加一個DoubleAnimation屬性(暫且這麼理解吧)
Storyboard.TargetName:表示動畫要作用於的控件
Storyboard.TargetProperty:表示動畫要作用於的控件的哪個屬性
From="160" :表示控件屬性的初始值 To="300" :表示控件屬性值的結束值
Duration="0:0:2" :表示要經歷的時間 ,表是 時:分:秒
AutoReverse="True" 表示從From到To結束後再從To到From變化 。 RepeatBehavior="forever" 表示無限重複
在ColorAnimation 屬性裏,我們想改變矩形的填充顏色,但這裏要注意一下寫法: Storyboard.TargetProperty = "(rectangle1.Fill).Color"