2010-08-02 38 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();