wpf创建动画示例
第 1 部分:創建 DoubleAnimation
1.不透明度值 1.0 使對象完全不透明,不透明度值 0.0 使對象完全不可見。 <[default] http://msdn2.microsoft.com/mtps:sentence runat="server" sentenceid="b25a8506c7a98ca77fd044981ed22f95" xmlns="http://msdn2.microsoft.com/mtps" class="tgtSentence" id="tgt51">若要使動畫的不透明度值從 1.0 過渡為 0.0,可以將其 From 屬性設置為 1.0,將其 To 屬性設置為 0.0。...<DoubleAnimation From="1.0" To="0.0" />
..
2.然后,必須指定 Duration。
動畫的 Duration 指定了從其起始值過渡為目標值所需的時間。
在下面的示例中,為動畫指定的持續時間為五秒鐘。
...<DoubleAnimation From="1.0" To="0.0"
Duration="0:0:5" />
...
3.上面的代碼顯示了不透明度值從 1.0 向 0.0 轉換的動畫,此轉換使目標元素從完全不透明逐漸轉變為完全不可見。
若要使元素在消失后再逐漸回到視野中,請將動畫的 AutoReverse 屬性設置為 true。 若要使動畫無限期地重復,請將其 RepeatBehavior
屬性設置為 Forever。
...<DoubleAnimation From="1.0" To="0.0"
Duration="0:0:5" AutoReverse="True" RepeatBehavior="Forever"/>
...
第 2 部分:創建演示圖板
若要向對象應用動畫,請創建 Storyboard 并使用 TargetName 和TargetProperty附加屬性指定要進行動畫處理的對象和屬性。
1.創建 Storyboard 并將動畫添加為其子項。 ...<Storyboard><DoubleAnimationFrom="1.0" To="0.0" Duration="0:0:1" AutoReverse="True" RepeatBehavior="Forever" /> </Storyboard> ... 2.Storyboard 必須知道要在哪里應用動畫。 使用 Storyboard .TargetName 附加屬性指定要進行動畫處理的對象。
在下面的代碼中,為 DoubleAnimation 指定了一個目標名稱 MyRectangle,這是要進行動畫處理的對象的名稱。
...<Storyboard>
<DoubleAnimation
Storyboard.TargetName="MyRectangle"
From="1.0"
To="0.0" Duration="0:0:1"
AutoReverse="True" RepeatBehavior="Forever" />
</Storyboard>
...
3.使用 TargetProperty
附加屬性指定要進行動畫處理的屬性。 在下面的代碼中,動畫被配置為面向 Rectangle 的 Opacity 屬性。
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="MyRectangle"
Storyboard.TargetProperty="Opacity"
From="1.0" To="0.0" Duration="0:0:5"
AutoReverse="True" RepeatBehavior="Forever"
/>
</Storyboard>
</BeginStoryboard>
第 3 部分 (XAML):將演示圖板與觸發器關聯
在 XAML 中應用和啟動 Storyboard 的最簡單的方法是使用事件觸發器。
創建一個 BeginStoryboard 對象并將演示圖板與其關聯。 BeginStoryboard 是一種應用和啟動 Storyboard 的
TriggerAction。
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="MyRectangle"
Storyboard.TargetProperty="Opacity"
From="1.0" To="0.0" Duration="0:0:5"
AutoReverse="True" RepeatBehavior="Forever"
/>
</Storyboard>
</BeginStoryboard>
創建 EventTrigger 并將 BeginStoryboard 添加至其 Actions 集合。 將 EventTrigger 的
RoutedEvent 屬性設置為啟動 Storyboard 所需的路由事件。
<!-- Animates the rectangle's
opacity. -->
<EventTrigger RoutedEvent="Rectangle.Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="MyRectangle"
Storyboard.TargetProperty="Opacity"
From="1.0" To="0.0" Duration="0:0:5"
AutoReverse="True" RepeatBehavior="Forever"
/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
將 EventTrigger 添加至矩形的 Triggers 集合。
<Rectangle
Name="MyRectangle"
Width="100"
Height="100"
Fill="Blue">
<Rectangle.Triggers>
<!--
Animates the rectangle's opacity. -->
<EventTrigger RoutedEvent="Rectangle.Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="MyRectangle"
Storyboard.TargetProperty="Opacity"
From="1.0" To="0.0" Duration="0:0:5"
AutoReverse="True" RepeatBehavior="Forever"
/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Rectangle.Triggers>
</Rectangle>
轉載于:https://www.cnblogs.com/zhangtao/archive/2011/06/30/2347550.html
總結
- 上一篇: Oracle DBWR,LGWR,CKP
- 下一篇: Android SDCard操作(文件读