2010-08-02 4 views
0

J'ai besoin d'aide pour le Storyboard Seek. Le code suivant ne fonctionne pas:Utilisation de WPF StoryBoard Forward et Reverse

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); 
      } 

Merci à l'avance.

+0

Vous devriez vraiment être plus précis que « ne fonctionne pas ". Quelles erreurs obtenez-vous? Qu'attendriez-vous qu'il se passe et que se passe-t-il à la place? Qu'essayez-vous exactement d'accomplir? – sth

+0

Okay. Il ne jette aucune erreur. Ça va toujours au premier clip. –

Répondre

2

inversée:

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

vous pouvez simplement faire

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