Exemplo n.º 1
0
        /// <summary>
        /// 指定动画开始的值。
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public EasyTransitionAnimationFluentContext <T> From(T value)
        {
            if (FromKeyFrameContext != null)
            {
                throw new InvalidOperationException("From 已经被指定。");
            }

            FromKeyFrameContext = new KeyFrameFluentContext <T>
            {
                Value    = value,
                Progress = 0
            };
            return(this);
        }
Exemplo n.º 2
0
        protected override void InsertKeyFrame(KeyFrameFluentContext <Vector3> keyFrameContext)
        {
            switch (AnimationKind)
            {
            case TransitionAnimationKind.Relative:
                (CompositionAnimation as KeyFrameAnimation).InsertExpressionKeyFrame(keyFrameContext.Progress, $"this.StartingValue + Vector3({keyFrameContext.Value.X}, {keyFrameContext.Value.Y}, {keyFrameContext.Value.Z})", keyFrameContext.EasingFunction);
                break;

            case TransitionAnimationKind.Absolute:
                (CompositionAnimation as Vector3KeyFrameAnimation).InsertKeyFrame(keyFrameContext.Progress, keyFrameContext.Value, keyFrameContext.EasingFunction);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Exemplo n.º 3
0
 protected override void InsertKeyFrame(KeyFrameFluentContext <Color> keyFrameContext)
 {
     (CompositionAnimation as ColorKeyFrameAnimation).InsertKeyFrame(keyFrameContext.Progress, keyFrameContext.Value, keyFrameContext.EasingFunction);
 }
Exemplo n.º 4
0
 protected abstract void InsertKeyFrame(KeyFrameFluentContext <T> keyFrameContext);