При остановке раскадровки блокируется ли анимируемое свойство? AnimationClock останавливается? - PullRequest
0 голосов
/ 13 декабря 2011
ParallelTimeline OTimelineAnimation = new ParallelTimeline();

for (int i = 0; i < _Bubbles.Count; i++)
{
 _StryBrd.Children.Clear();

 PointAnimation ToMovePointAnim = new PointAnimation();
 ToMovePointAnim.From = _Bubbles[i].CurrentPoint;
 ToMovePointAnim.To = _Bubbles[i].ToNextPoint;
 ToMovePointAnim.Duration = new Duration(TimeSpan.FromSeconds(1.5));
 ToMovePointAnim.FillBehavior = FillBehavior.Stop;

 Storyboard.SetTarget(ToMovePointAnim, _Bubbles[i].CurrentElement);
 Storyboard.SetTargetProperty(ToMovePointAnim, new PropertyPath(ScatterViewItem.CenterProperty));

 OTimelineAnimation.Children.Add(ToMovePointAnim);

 _Bubbles[i].CurrentElement.Center = _Bubbles[i].ToNextPoint;
 _Bubbles[i].CurrentPoint = _Bubbles[i].ToNextPoint;
 _Bubbles[i].ToNextPoint = GetToNextPoint(_Bubbles[i].ToNextPoint);
}

_StryBrd.Children.Add(OTimelineAnimation);
_StryBrd.Begin(this,  true);


// At another part X, I call the following
_StryBrd.Pause(this);

// At another part Y, I call the following
_StryBrd.Resume(this);

Проблема:

Пока я пытаюсь перетащить любой из этих элементов «ScatterViewItem», который внутренне (я полагаю!) Обращается к «ScatterViewItem.CenterProperty», чтобы каким-либо образом изменить положение элементов, его не перетаскивают.

Это поведение по умолчанию для приостановки раскадровки?(Чтобы заблокировать свойство от изменения)

Надеюсь, я достаточно уточнил, Спасибо всем заранее

1 Ответ

1 голос
/ 13 декабря 2011

Ну, анимации имеют весьма экстремальный приоритет , вы не можете изменять анимированные свойства, даже если они приостановлены.Просто установить свойство после анимации достаточно проблематично, здесь вам также нужно избавиться от анимации, чтобы изменить его.

...