[Windows 8 App]Storyboard-----主題動畫
Storyboard是一個用來添加動畫的容器
透過Storyboard可以建立主題動畫、插值動畫和關鍵影格動畫
他們都是依據時間線進行播放動畫
並且能夠在後台通過添加事件來控制動畫的播放、暫停、恢復以及停止
主題動畫
Windows 8 系統中包含了豐富的主題動畫
在開發Windows 應用商店應用時,
使用主題動畫編寫較少的程式碼就可以達到所期望的動畫效果
下面介紹一些常用的主題動畫
FadeInThemeAnimation :用來設定控制項在屏幕中的淡入效果
FadeOutThemeAnimation: 用來設定控制項從介面中刪除或隱藏時的淡出效果
DropTargetItemThemeAnimation: 應用在拖放目標元素的預設動畫
PopInThemeAnimation :控制項的彈入元件顯示時應用在控制上的預設動畫,此動畫結合了不透明度和轉換
PopOutThemeAnimation :控制項的彈入元件關閉或刪除時應用在控制上的預設動畫,此動畫結合了不透明度和轉換
RepositionThemeAnimation: 介面元件重新配置時使用的預設動畫
PointerDownThemeAnimation: 代表一個預設動畫,當使用者點擊元素時動畫會進行
PointerUpThemeAnimation :在點擊一個項目或元素後進行的使用者操作預設動畫
下面以FadeOutThemeAnimation 動畫做範例
首先,新增一個專案【FadeOutThemeAnimation 】,開啟【MainPage.xaml】
在Grid程式碼中輸入以下程式碼:
<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<StackPanel>
<StackPanel.Resources>
<Storyboard x:Name="storyboard">
<FadeOutThemeAnimation Storyboard.TargetName="MyRectangle" />
</Storyboard>
</StackPanel.Resources>
</StackPanel>
<Rectangle x:Name="MyRectangle" PointerPressed="MyRectangle_PointerPressed" Fill="Yellow" Width="400" Height="300" />
</Grid>
以上的程式碼中,首先在StackPanel元素的StackPanel.Resources中添加一個做為動畫資源的Storyboard元素
並命名為storyboard,以方便在後台文件中呼叫storyboard對象的Begin方法啟動動畫
再來在Storyboard元素中新增一個主題動畫FadeOutThemeAnimation
新增好了之後呢,在Grid元素中添加一個Rectangle元素作為動畫的目標
並將此Rectangle命名為MyRectangle,接著為Rectangle元素的PointerPressed事件定義名為MyRectangle_PointerPressed的事件處理方法
當觸發此事件時將會啟動主題動畫
接下來,開啟【MainPage.xaml.cs】
為PointerPressed事件添加事件處理方法MyRectangle_PointerPressed
程式碼如下:
private void MyRectangle_PointerPressed(object sender, PointerRoutedEventArgs e)
{
storyboard.Begin();
}
上面的程式碼呼叫了storyboard的Begin方法
執行專案的畫面:
這是一個Rectangle,點擊此Rectangle會產生下面的動畫