当前位置: 代码迷 >> 综合 >> wp Storyboard 动画实现
  详细解决方案

wp Storyboard 动画实现

热度:10   发布时间:2023-12-16 12:03:53.0

假如要实现这样一种控件,它的透明度由0平滑过渡到1,再由1平滑过渡到0(也就是忽明忽暗的闪烁效果)。

一种方法是定义一个定时器,重复的改变它的透明度。

一种方法则是可以通过storyboard来实现这种闪烁效果,代码实现起来更为简洁,代码如下:

[csharp]  view plain copy
  1. private Storyboard PrepareShowStory()  
  2. {  
  3.     Storyboard story = new Storyboard();  
  4.     DoubleAnimation animation;  
  5.   
  6.     animation = new DoubleAnimation();  
  7.     animation.From = 0;  
  8.     animation.To = 1;  
  9.     animation.Duration = new Duration(TimeSpan.FromMilliseconds(Duration));  
  10.     Storyboard.SetTarget(animation, MyTestImage);  
  11.     Storyboard.SetTargetProperty(animation, new PropertyPath("(UIElement.Opacity)"));  
  12.     story.Children.Add(animation);  
  13.   
  14.     story.AutoReverse = true;  
  15.     story.RepeatBehavior = RepeatBehavior.Forever;  
  16.   
  17.     return story;  
  18. }  
要开始动画,可以这样设置:
[csharp]  view plain copy
  1. m_StoryBoard = PrepareShowStory();  
  2. m_StoryBoard.Begin();  

要暂停动画,可以这样:

[csharp]  view plain copy
  1. m_StoryBoard.Pause();  

要重新运行动画,则可以:

[csharp]  view plain copy
  1. m_StoryBoard.Resume();  

要结束动画,则可以:
[csharp]  view plain copy
  1. m_StoryBoard.Stop();