silverlight學習之storyboard (動畫)

利用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"


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章