2010-05-29 84 views
3

是否有簡單的方法向後播放一些StoryBoad(反轉)?因爲有一個方法Storyboard.Begin()我希望有一些像「Storyboard.BeginReversed()」的方法,但我找不到它。向後播放動畫(storyboard)

如果沒有辦法向後播放動畫,那我必須爲大部分動畫補充動畫編寫動畫。這對我來說很不好(代碼重複的某種)。

基本上我只是動畫顯示和隱藏網格。

回答

1

你可以翻轉「From」和「To」並再次播放嗎?

+0

謝謝你的回答。好的,就是這樣......但它不是很清楚。問題是你必須在某個地方保存你翻轉過的信息。我寧願有更清楚的事情。真的沒有這個方法,沒有'Storyboard'的創造者沒有想到這個? – drasto 2010-05-29 23:08:00

+0

@ drasto-我想如果你想反向播放動畫,設計師會將其視爲一種不同的動畫。您可以輕鬆創建這樣的動畫。當然,你總是可以編寫擴展方法來擴展你使用的故事板,使其更加清潔。 – 2010-05-29 23:24:53

+0

謝謝。我會嘗試寫擴展方法,但這並不容易。在前進動畫仍在運行和類似的情況下,我將不得不關注這樣的想法來調用反向動畫。 – drasto 2010-05-29 23:44:25

-1

我認爲這將有助於你(見下文的XAML示例)

VAR分鏡= this.Resources [ 「Storyboard1」]作爲故事板;

 var anim = storyboard.Children[0] as DoubleAnimationUsingKeyFrames; 

     anim.AutoReverse = true; 

     anim.RepeatBehavior = RepeatBehavior.Forever; 

<Storyboard x:Key="Storyboard1"> 
     <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="border" Storyboard.TargetProperty="(FrameworkElement.Width)"> 
      <SplineDoubleKeyFrame KeyTime="00:00:00" Value="200"/> 
      <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="300"/> 
     </DoubleAnimationUsingKeyFrames> 
    </Storyboard> 
+0

對不起,我不想自動重複播放我想播放它,也許在原始播放完成後。 – drasto 2010-06-06 17:35:57