Как мне отменить двойную анимацию в Silverlight для события? Например, предположим, что у меня есть эллипс в качестве пути, и я перемещаю фигуру по этому пути в бесконечном цикле. Если я нажимаю кнопку, я хочу изменить направление вращения (по часовой ‹-> против часовой стрелки).
Чтобы быть более конкретным, я использую объект PathListBox, который является новым в SL4. У него есть начальное свойство от 0 до 100% (двойное значение от 0 до 1), которое поместит первый элемент в указанное место на пути. Анимируя это свойство от 0 до 1 и от 1 до 0, я могу заставить объект вращаться по часовой стрелке и против часовой стрелки.
Допустим, у меня есть кнопка, и при нажатии кнопки я хочу изменить направление. Как мне это сделать? Я пытался приостановить анимацию и поменять местами значения To и From анимации и возобновить ее, но это приводит к скачку анимации. Таким образом, если на эллипсе он находится в положении «3 часа», он перескакивает на «9 часов» и оттуда идет назад. Я попытался сделать что-то вроде установки свойства CurrentTime раскадровки на «Duration - CurrentTime», но это свойство, похоже, не может быть установлено.
Итак, в заключение, есть идеи о том, как отменить анимацию по требованию?
PS: я знаю, что есть PathListBoxUtils, который обеспечивает поведение прокрутки для PathListBox, но это не совсем то, что я хочу. Или, другими словами, я хочу изменить PathListBoxUtils, чтобы иметь бесконечно вращающуюся реверсивную карусель, а не прокручивать один элемент за раз.