Exemple #1
0
        private DoubleAnimation InstantiateAnimationFromResolvedKeyFrameIndex(int index)
        {
            DoubleKeyFrame  keyFrame = KeyFrames[_resolvedKeyFrames.GetNextKeyFrameIndex(index)];
            DoubleAnimation db       = new DoubleAnimation()
            {
                BeginTime      = TimeSpan.Zero,
                To             = keyFrame.Value,
                Duration       = keyFrame.KeyTime.TimeSpan - (index > 0 ? KeyFrames[_resolvedKeyFrames.GetNextKeyFrameIndex(index - 1)].KeyTime.TimeSpan : TimeSpan.Zero),
                EasingFunction = keyFrame.INTERNAL_GetEasingFunction(),
            };

            Storyboard.SetTargetName(db, _targetName);
            Storyboard.SetTargetProperty(db, _targetProperty);
            Storyboard.SetTarget(db, _parameters.Target);
            db.InitializeIteration();
            db.Completed -= ApplyNextKeyFrame;
            db.Completed += ApplyNextKeyFrame;
            return(db);
        }