C# 重新开始情节提要动画

C# 重新开始情节提要动画,c#,xaml,C#,Xaml,我在我的代码中调用故事板动画,如MyAnim.Begin() 但当我再次调用该方法时(比如,当我再次单击时), 它会中断当前正在运行的动画并从头开始 有没有一种方法可以在不中断彼此的情况下多次启动同一动画 我制作了一个爆炸效果,我想让它一次又一次地爆炸。故事板对象包含一个已完成的事件。当故事板完成运行时,将触发该命令 我建议这样做: 私有对象_locker=新对象(); 私有布尔处理; 私人国际候机公寓 public void Setup() { MyAnim.Completed+=Co

我在我的代码中调用故事板动画,如
MyAnim.Begin()

但当我再次调用该方法时(比如,当我再次单击时), 它会中断当前正在运行的动画并从头开始

有没有一种方法可以在不中断彼此的情况下多次启动同一动画


我制作了一个爆炸效果,我想让它一次又一次地爆炸。

故事板对象包含一个已完成的事件。当故事板完成运行时,将触发该命令

我建议这样做:

私有对象_locker=新对象(); 私有布尔处理; 私人国际候机公寓

public void Setup()
{
    MyAnim.Completed+=CompletedExecution;
}
private void CompletedExecution(object sender, EventArgs args)
{
    bool runAnotherAnim;
    lock(_locker)
    {
        runAnotherAnim=_waitingAnimations>0;
        if(_waitingAnimations>0)
             _waitingAnimations--;

    }
    if(runAnotherAnim)
        MyAnim.Begin();
    else
        _isProcessing=false;
}
public void AddAnimation()
{
   lock(_locker)
   {
       if(_isProcessing)
       {
           _waitingAnimations++;
       }
       else
       {
           _isProcessing=true;
           MyAnim.Begin();

       }
   }

}

当我从内存中执行此操作时,您需要查看已完成事件提供的参数,但我以前使用过此参数,并且它正是您希望执行的操作。

序列图像板对象包含已完成事件。当故事板完成运行时,将触发该命令

我建议这样做:

私有对象_locker=新对象(); 私有布尔处理; 私人国际候机公寓

public void Setup()
{
    MyAnim.Completed+=CompletedExecution;
}
private void CompletedExecution(object sender, EventArgs args)
{
    bool runAnotherAnim;
    lock(_locker)
    {
        runAnotherAnim=_waitingAnimations>0;
        if(_waitingAnimations>0)
             _waitingAnimations--;

    }
    if(runAnotherAnim)
        MyAnim.Begin();
    else
        _isProcessing=false;
}
public void AddAnimation()
{
   lock(_locker)
   {
       if(_isProcessing)
       {
           _waitingAnimations++;
       }
       else
       {
           _isProcessing=true;
           MyAnim.Begin();

       }
   }

}
在我从内存中执行此操作时,您需要查看已完成事件提供的参数,但我以前使用过此参数,它完全符合您的要求