/// <summary> /// Consumes a sequence of tokens representing a list of storyboard animation keyframes. /// </summary> /// <param name="state">The parser state.</param> /// <returns>A new <see cref="UvssStoryboardKeyframeCollection"/> object representing the collection of keyframes that was consumed.</returns> private static UvssStoryboardKeyframeCollection ConsumeStoryboardKeyframeList(UvssParserState state) { var keyframe = default(UvssStoryboardKeyframe); var keyframes = new UvssStoryboardKeyframeCollection(); var keyframesTokens = GetTokensBetweenCurlyBraces(state); var keyframesState = new UvssParserState(state.Source, keyframesTokens); while ((keyframe = ConsumeStoryboardKeyframe(keyframesState)) != null) { keyframes.Add(keyframe); } return keyframes; }
/// <summary> /// Initializes a new instance of the <see cref="UvssStoryboardAnimation"/> class. /// </summary> /// <param name="animatedProperty">The name of the animated property.</param> /// <param name="navigationExpression">The animated property's navigation expression.</param> /// <param name="keyframes">The animation's collection of keyframes.</param> internal UvssStoryboardAnimation(String animatedProperty, UvssNavigationExpression navigationExpression, UvssStoryboardKeyframeCollection keyframes) { this.animatedProperty = animatedProperty; this.navigationExpression = navigationExpression; this.keyframes = keyframes; }
/// <summary> /// Initializes a new instance of the <see cref="UvssStoryboardAnimation"/> class. /// </summary> /// <param name="animatedProperty">The name of the animated property.</param> /// <param name="navigationExpression">The animated property's navigation expression.</param> /// <param name="keyframes">The animation's collection of keyframes.</param> internal UvssStoryboardAnimation(DependencyName animatedProperty, UvssNavigationExpression navigationExpression, UvssStoryboardKeyframeCollection keyframes) { this.AnimatedProperty = animatedProperty; this.NavigationExpression = navigationExpression; this.Keyframes = keyframes; }