成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Windows Phone開發(36):動畫之DoubleAnimation

移動開發
什么是 Storyboard?這個東東你覺得怎么翻譯好呢,叫演示圖板吧,MSDN是這樣翻譯的,我說一個直觀一點的概念吧,不知道各位玩過Flash 沒,Flash里面有一個“幀面板”,是的,其實這個演示圖板和幀面板有著很嚴重的相似之處。

從本節開始,我們將圍繞一個有趣的話題展開討論——動畫。

看到動畫一詞,你一定想到Flash,畢竟WP應用的一個很重要的框架是Silverlight,在WP中也發揮了Silverlight的許多優 點,可能不少人說,Silverlight就是和Flash差不多吧,當你深入了解了Silverlight后,你會發現,其實不 然,Silverlight更偏重于數據處和企業級應用。

好了,F話不多說,開始吹我們今天的牛皮吧,在吹牛皮之前,我們更應該知道牛皮是從哪里來的。故在說動畫之前,先想一下,什么是 Storyboard?這個東東你覺得怎么翻譯好呢,叫演示圖板吧,MSDN是這樣翻譯的,我說一個直觀一點的概念吧,不知道各位玩過Flash 沒,Flash里面有一個“幀面板”,是的,其實這個演示圖板和幀面板有著很嚴重的相似之處。

這樣吧,我們還是接受一下.NET非常強大的事實吧,所以,打開Express Blend來看看一個圖形化的演示圖板,這樣一來,大家一定會更好理解。

這樣一看,一定很形象了,Storyboard從TimeLine派生而來,時間線在動畫里面是比較關鍵的,我們都知道,所謂動畫會“動”,正是因為它存在一個時間差,“幀”的概念相信大家能理解,只可意會不可言傳啊,看你跟她能有多少默契了。

一個Storyboard可以包含N多個子動畫時間線,今天我們先來了解一個比較簡單的,DoubleAnimation是在一定時間段內對兩個double值進行動畫處理,如可視化元素的寬度,高度,透明度等。

嚴重警告:不是所有的屬性都能夠進行動畫處理的,要進行動畫處理的屬性必須是依賴項屬性。

好了,理論說多了,很容易讓人走火入魔,還是動手干一下好吧。

下面我們來做一個演練。

第一步,新建一個WP應用程序項目,此處省略35個字。

第二步,在頁面中添加一個矩形,兩個按鈕,矩形是“小白鼠”,是用來給我們做動畫實驗的,至于那兩個按鈕,一個是播放動畫,一個是停止動畫。界面怎么布置,隨你喜歡。

  1. <!--ContentPanel - 在此處放置其他內容-->   
  2. <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">   
  3.     <Grid.RowDefinitions>   
  4.         <RowDefinition Height="*"/>   
  5.         <RowDefinition Height="auto"/>   
  6.     </Grid.RowDefinitions>   
  7.     <Rectangle x:Name="rec"   
  8.                Grid.Row="0"   
  9.                Margin="100"   
  10.                Fill="Yellow"/>   
  11.     <StackPanel Grid.Row="1" Orientation="Horizontal">   
  12.         <Button Content="播放" Click="play_Click"/>   
  13.         <Button Content="停止" Click="stop_Click"/>   
  14.     </StackPanel>   
  15. </Grid>  

第三步,在上面那個叫ContentPanel的Grid中加一個Storyboard,作為資源,并在其中聲明一個DoubleAnimation,把矩形的透明度在5秒鐘內變為0,即使矩形產生淡出的動畫效果。

Storyboard.TargetName附加屬性指定要進行動畫處理的對象的名字,你想干掉誰,就寫上它的名字 吧;Storyboard.TargetProperty是要動畫處理的屬性,由于我們要對透明度進行動畫過度,故這里用Opacity屬性。 Duration就是動畫的時長,這里取5秒鐘。

  1. <Grid.Resources>   
  2.     <Storyboard x:Name="std">   
  3.         <DoubleAnimation   
  4.             Duration="0:0:5"   
  5.             Storyboard.TargetName="rec"   
  6.             Storyboard.TargetProperty="Opacity"   
  7.             To="0"/>   
  8.     </Storyboard>   
  9. </Grid.Resources> 

第四步,分別處理兩個按鈕的單擊事件,調用Storyboard的Begin和Stop方法來控件動畫的播放和停止。

  1. private void play_Click(object sender, RoutedEventArgs e)   
  2. {   
  3.     this.std.Begin();   
  4. }   
  5. private void stop_Click(object sender, RoutedEventArgs e)   
  6. {   
  7.     this.std.Stop();   
  8. }   

好,現在運行一下看看。

不夠爽嗎?再做一個吧,把一個橢圓的寬度在3秒鐘內從20變為420,如何。

看XAML代碼。

  1.     <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">   
  2.         <Grid.RowDefinitions>   
  3.             <RowDefinition />   
  4.             <RowDefinition Height="Auto" />   
  5.         </Grid.RowDefinitions>   
  6.         <Ellipse Grid.Row="0" Height="325" Name="ell"  Width="15" Fill="DarkOrange" />   
  7.         <StackPanel Grid.Row="1" Orientation="Horizontal">   
  8.             <Button Content="播放" Click="onPlay"/>   
  9.             <Button Content="停止" Click="onStop"/>   
  10.         </StackPanel>   
  11.         <Grid.Resources>   
  12.             <Storyboard x:Name="std">   
  13.                 <DoubleAnimation Duration="0:0:3"   
  14.                                  Storyboard.TargetName="ell"   
  15. Storyboard.TargetProperty="Width"   
  16.                                  From="20"   
  17.                                  To="420"/>   
  18.             </Storyboard>   
  19.         </Grid.Resources>   
  20.     </Grid>   

后臺代碼:

  1. private void onPlay(object sender, RoutedEventArgs e)   
  2. {   
  3.     this.std.Begin();   
  4. }   
  5. private void onStop(object sender, RoutedEventArgs e)   
  6. {   
  7.     this.std.Stop();   
  8. }   

看看運行效果。

 

責任編輯:閆佳明 來源: oschina
相關推薦

2013-04-24 13:31:59

Windows Pho動畫之ColorAni

2013-04-24 13:43:10

Windows Pho動畫PointAnim

2013-04-25 11:25:38

Windows PhoWindows Pho

2013-07-31 13:13:50

Windows PhoMVVM模式

2013-04-19 17:11:02

Windows PhoWindows Pho

2013-04-23 16:55:15

Windows Pho路徑之其它Geomet

2013-07-31 13:36:07

Windows PhoVS調試技巧Windows Pho

2013-07-30 12:37:56

Windows PhoWindows Pho

2010-04-21 17:07:54

Windows Pho

2013-04-24 13:51:48

Windows PhoWindows Pho

2013-04-24 14:52:53

Windows PhoWindows Pho

2013-04-24 15:28:02

Windows PhoWindows Pho

2013-04-17 14:00:06

Windows PhoWindows Pho

2011-06-07 12:42:15

Windows Pho

2013-04-16 17:02:50

Windows Pho概論

2013-04-19 16:34:56

Windows PhoWindows Pho

2013-07-30 11:18:37

Windows PhoWindows Pho

2010-08-06 15:44:28

Windows PhoWindows PhoSilverlight

2010-04-08 17:40:23

Windows Pho

2010-07-16 15:29:02

Windows Pho
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久午夜剧场 | 欧美一级片在线观看 | 伊人在线 | 国产成人精品在线播放 | 免费精品在线视频 | 9色视频在线 | 手机在线观看 | 91精品免费视频 | 欧美成人免费在线视频 | 中文字幕精 | 亚洲一区二区网站 | 久久久久国产 | 久久国产精品一区 | 亚洲免费在线 | 手机av在线| 黄色在线免费观看 | 成人福利网站 | 国产激情视频在线免费观看 | 99精品免费视频 | 黄色免费网址大全 | 2022精品国偷自产免费观看 | 久久精品二区亚洲w码 | 欧美一级黄视频 | 成人毛片视频免费 | 日本淫视频 | 九九九久久国产免费 | 性福视频在线观看 | 中文字幕欧美一区 | 九色在线视频 | 日韩亚洲视频 | 国产高清精品一区 | 亚洲国产一 | 国产亚洲欧美在线视频 | 日韩国产在线 | 久久精品成人 | 91视频国产一区 | 日本不卡免费新一二三区 | 久久久91精品国产一区二区精品 | 欧美成人在线免费 | 午夜视频在线免费观看 | 成人性视频在线播放 |