2009年10月12日 星期一

在WPF的XAML裡面使用動畫

在WPF裡面使用動畫可以參考在WPF中加入動畫
不過有時候動畫比較單純,而不需要非常精細的轉換計算動作的話
其實可以直接將動畫宣告在XAML裡面,讓他成為物件的附屬特性

<Image.Triggers>
<!--begin animation after loaded-->
<EventTrigger RoutedEvent="Image.Loaded">
<BeginStoryboard Name="bs">
<Storyboard>
<DoubleAnimation
Storyboard.TargetProperty="Opacity"
From="1" To="0"
Duration="0:0:0.5"
AutoReverse="True"
RepeatBehavior="Forever" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<!--pause animation after leftbutton down-->
<EventTrigger
RoutedEvent="Image.MouseLeftButtonDown">
<PauseStoryboard BeginStoryboardName="bs" />
</EventTrigger>
<!--resume animation after leftbutton up-->
<EventTrigger
RoutedEvent="Image.MouseLeftButtonUp">
<ResumeStoryboard BeginStoryboardName="bs" />
</EventTrigger>
<!--stop animation after rightbutton up-->
<EventTrigger
RoutedEvent="Image.MouseRightButtonUp">
<StopStoryboard BeginStoryboardName="bs" />
</EventTrigger>
</Image.Triggers>

被設定上面屬性的影像(Image)會在載入之後就不斷的忽隱忽現

要在XAML裡面設定動畫要先確定是對哪個控制項
並新增該控制項的觸發器(Trigger),可分為幾類
觸發器說明
EventTrigger在指定事件發生時觸發
參考HOW TO:使用腳本建立屬性的動畫
Trigger在指定屬性值變更時觸發
參考HOW TO:當屬性值變更時觸發動畫
DataTrigger在指定資料變更時觸發
參考HOW TO:資料變更時觸發動畫

設定觸發器之後,選擇要開始撥放或是對已經在撥放的動畫做動作
比較常見的有幾種
腳本操作說明
BeginStoryboard開始播放腳本,並在裡面設定動畫的細節
PauseStoryboard暫停播放腳本
ResumeStoryboard繼續播放腳本
StopStoryboard結束播放腳本

動畫也一樣可以選擇種類,可以參考在WPF中加入動畫

--
參考資料
腳本概觀
動畫概觀
HOW TO:在腳本開始後使用事件觸發程式進行控制

沒有留言:

張貼留言