Всем привет. Есть класс с двумя методами:
async public void DisplayAnimation(Canvas canvas)
{
this.IsShowAnimation = true;
while (this.IsShowAnimation)
{
this.Draw(this.Angle, StartPoint, canvas);
await Task.Delay(20);
canvas.Children.Clear();
this.Angle += 3;
}
}
public void StopAnimation(Canvas canvas)
{
this.IsShowAnimation = false;
}
Если я где-то в коде вызываю
DisplayAnimation()
, то анимация начинает правильно работать. Но если я через какое-то время вызываю
StopAnimation()
, то почему-то она продолжает работать, хотя по моей логике она должна прекратиться. В чём может быть проблема?
Если что, то вот
ссылка на исходный код
P. S. Все модификаторы доступа настроены правильно. Все обработчики правильно вызываются в коде