/// <summary> /// 插入一个表达式帧,并提交上一帧。 /// </summary> /// <param name="expression"></param> /// <returns></returns> public KeyFrameTransitionAnimationFluentContext <T> ExpressionKeyFrame(String expression) { InsertActiveKeyFrame(); CurrentKeyFrameContext = new ExpressionKeyFrameFluentContext { Value = expression }; return(this); }
/// <summary> /// 插入一个关键帧,并提交上一帧。 /// </summary> /// <param name="value"></param> /// <returns></returns> public KeyFrameTransitionAnimationFluentContext <T> KeyFrame(T value) { InsertActiveKeyFrame(); CurrentKeyFrameContext = new KeyFrameFluentContext <T> { Value = value }; return(this); }
private void InsertActiveKeyFrame() { var activeKeyFrame = CurrentKeyFrameContext; if (activeKeyFrame == null) { return; } KeyFrameContexts.Add(activeKeyFrame); CurrentKeyFrameContext = null; }
/// <summary> /// 通过表达式指定动画结束的值 /// /// </summary> /// <param name="expression"></param> /// <returns></returns> public EasyTransitionAnimationFluentContext <T> ToExpression(String expression) { if (ToKeyFrameContext != null) { throw new InvalidOperationException("To 已经被指定。"); } ToKeyFrameContext = new ExpressionKeyFrameFluentContext() { Value = expression, Progress = 1 }; return(this); }
/// <summary> /// 指定动画结束的值。 /// </summary> /// <param name="value"></param> /// <returns></returns> public EasyTransitionAnimationFluentContext <T> To(T value) { if (ToKeyFrameContext != null) { throw new InvalidOperationException("To 已经被指定。"); } ToKeyFrameContext = new KeyFrameFluentContext <T> { Value = value, Progress = 1 }; return(this); }