Я перемещаю изображение поезда вдоль железной дороги. В моей раскадровке я начну много анимации. Я хочу остановить или приостановить раскадровку в любое время.
Я пытался многими способами остановить / приостановить анимацию. Я начинаю раскадровку, как показано ниже.
myStoryboard.Begin(this, true);
Мой полный код ниже.
Storyboard sb;
public mimic_screen()
{
InitializeComponent();
sb = new Storyboard();
}
public bool move(Image target, double oldX, double oldY, double newX, double newY, int time)
{
try
{
DoubleAnimation anim1 = new DoubleAnimation(oldY, newY, TimeSpan.FromSeconds(time));
Storyboard.SetTargetProperty(anim1, new PropertyPath("(Canvas.Top)"));
Storyboard.SetTarget(anim1, target);
sb.Children.Add(anim1);
}
catch (Exception ex)
{
MessageBox.Show("Move Function Error:"+ex.Message);
return false;
}
return true;
}
public void begin()
{
sb.Begin(this,true);
}
public void pause()
{
sb.Pause(this);
}
public void resume()
{
sb.Resume(this);
}
public void stop()
{
sb.Stop(this);
}
Функция начала работает четко. Но когда я вызываю другие функции (остановка / пауза / возобновление), ничего не происходит. Когда я отлаживаю, методы запускаются успешно. Где моя ошибка?