private void LayoutRoot_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e) { // 2. Get the % value of how much the finger has moved based on the height of the root Grid. var ratio = Math.Abs(e.Cumulative.Translation.Y) / LayoutRoot.ActualHeight; var currentTime = SlideUpAnimation.Duration.TimeSpan.TotalMilliseconds * ratio; // 3. 'Scrub' the animation - This is the Seek method that I think is missing in // Composition's KeyFrameAnimation & CompositionScopedBatch. SlideUpAnimation.Seek(TimeSpan.FromMilliseconds(currentTime)); }
private void LayoutRoot_ManipulationCompleted(object sender, ManipulationCompletedRoutedEventArgs e) { // 4. Resume the animation to finish it off smoothly. SlideUpAnimation.Resume(); }
// The SlideUpAnimation Storyboard contains a number of keyframes that do the following - // * Change the Offset Y of the TopPane; // * Change the Opacity of the TopPane; // * Change the Scale X & Y of the Marker; // * Change the Color of the Marker. private void LayoutRoot_ManipulationStarting(object sender, ManipulationStartingRoutedEventArgs e) { // 1. Start and pause the animation immediately. SlideUpAnimation.Begin(); SlideUpAnimation.Pause(); }