Хорошо, ребята. Я отказался от этой идеи. Моя цель состояла в том, чтобы иметь возможность вращать мой Sllipse и отключить это вращение. Используя кнопку или что-нибудь.
Чтобы сделать это sh, я создал собственный элемент управления Ellipse и добавил анимацию внутри этого пользовательского элемента управления. Сделав это, я получил то, что хочу.
В этой серии видеороликов рассказывалось, как создать собственный элемент управления
https://www.youtube.com/watch?v=-YJqoZFAGPA&list=PLA8ZIAm2I03gNGsQQYHmb7nK8VIt9EI9u&index=1
Важно понимать, как его создать.
Чтобы повернуть мой эллипс, я использовал этот код:
var doubleAnimation = new DoubleAnimation(0, 360, new Duration(TimeSpan.FromSeconds(1)));
var rotateTransform = new RotateTransform();
ellipse.RenderTransform = rotateTransform;
ellipse.RenderTransformOrigin = new Point(0.5, 0.5);
doubleAnimation.RepeatBehavior = RepeatBehavior.Forever;
rotateTransform.BeginAnimation(RotateTransform.AngleProperty, doubleAnimation);
Чтобы остановить вращение:
var rotateTransform = new RotateTransform();
ellipse.RenderTransform = rotateTransform;
ellipse.RenderTransformOrigin = new Point(0.5, 0.5);
И я вызываю свой пользовательский элемент управления в xaml следующим образом:
Обратите внимание, что я создал DependencyProperty, который является логическим, для остановки или запуска вращения
<Canvas Margin="50 50 50 50">
<Customs:Ellipses SpinEllipse="{Binding Spin1, Mode=TwoWay}" />
</Canvas>