2010-08-02 65 views
0

我需要故事板尋求幫助。以下代碼不起作用:使用WPF StoryBoard正向和反向

Storyboard StoryBoard; 

public void Reverse() 
      { 
       StoryBoard.Pause(this); 

       TimeSpan ts = new TimeSpan(0); 
       ts.Subtract(TimeSpan.FromMilliseconds(1000)); 
       StoryBoard.Seek(this, ts, TimeSeekOrigin.BeginTime); 
      } 

public void Forward() 
      { 
       StoryBoard.Pause(this); 

       TimeSpan ts = new TimeSpan(0); 
       ts.Add(TimeSpan.FromMilliseconds(1000)); 
       StoryBoard.Seek(this, ts, TimeSeekOrigin.BeginTime); 
      } 

在此先感謝。

+0

你真的應該更精確不是「不工作」。你會得到什麼錯誤?你期望會發生什麼,發生了什麼?你究竟想要完成什麼? – sth 2010-08-02 18:08:20

+0

好的。它沒有拋出任何錯誤。它總是去第一個剪輯。 – 2010-08-03 01:51:29

回答

2

對於反向:

TimeSpan CurrentTime = (TimeSpan) StoryBoard.CurrentTime; 
TimeSpan SubtractTime = CurrentTime.Subtract(new TimeSpan(FrameRate * (long)Math.Pow(10,4))); 
StoryBoard.Seek(SubtractTime, TimeSeekOrigin.Duration); 

對於前鋒:

TimeSpan CurrentTime = (TimeSpan) StoryBoard.CurrentTime; 
TimeSpan AddTime = CurrentTime.Add(new TimeSpan(FrameRate * (long)Math.Pow(10,4))); 
StoryBoard.Seek(AddTime, TimeSeekOrigin.Duration); 
0

您可以簡單地這樣做

Storyboard anime = (Storyboard)FindResource("Storyboard1"); 
     TimeSpan ts = new TimeSpan(0); 
     anime.Seek(ts); 
     anime.Stop();