2010-08-02 4 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); 
      } 

Thanks In Advance.

+0

Вы должны действительно быть более точным, чем «не работает ». Какие ошибки вы получаете? Что бы вы ожидали, и что произойдет вместо этого? Что именно вы пытаетесь достичь? – sth

+0

Хорошо. Это не ошибка. Он всегда идет к первому клипу. –

ответ

2

Для Реверс:

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

Для Forward:

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(); 
Смежные вопросы