private void RunAnimation() { if (_isForwardInAnimation) { _isForwardInAnimation = false; var forwardInAnimation = TelegramTurnstileAnimations.GetAnimation(LayoutRoot, TurnstileTransitionMode.ForwardIn); Execute.BeginOnUIThread(forwardInAnimation.Begin); } else { LayoutRoot.Opacity = 1.0; } }
private void RunAnimation() { if (_isForwardInAnimation) { _isForwardInAnimation = false; var forwardInAnimation = TelegramTurnstileAnimations.GetAnimation(LayoutRoot, TurnstileTransitionMode.ForwardIn); forwardInAnimation.Completed += (sender, args) => { ViewModel.ForwardInAnimationComplete(); }; Execute.BeginOnUIThread(forwardInAnimation.Begin); } else { LayoutRoot.Opacity = 1.0; } }
protected override void OnNavigatingFrom(NavigatingCancelEventArgs e) { //var tempUri = HttpUtility.UrlDecode(e.Uri.ToString()); //if (tempUri.Contains("encodedLaunchUri=tg://resolve")) //{ // e.Cancel = true; // var uriParams = TelegramUriMapper.ParseQueryString(tempUri); // if (tempUri.Contains("domain")) // { // IoC.Get<IStateService>().Domain = uriParams["domain"]; // //IoC.Get<IStateService>().RemoveBackEntries = true; // //IoC.Get<IStateService>().NavigateToDialogDetails = true; // NavigationService.Navigate(new Uri("/Views/Dialogs/DialogDetailsView.xaml", UriKind.Relative)); // return; // } //} base.OnNavigatingFrom(e); _nextUri = e.Uri; if (!e.Cancel) { if (e.Uri.ToString().Contains("DialogDetailsView.xaml")) { var storyboard = new Storyboard(); var translateAnimation = new DoubleAnimationUsingKeyFrames(); translateAnimation.KeyFrames.Add(new EasingDoubleKeyFrame { KeyTime = TimeSpan.FromSeconds(0.00), Value = 0.0 }); translateAnimation.KeyFrames.Add(new EasingDoubleKeyFrame { KeyTime = TimeSpan.FromSeconds(0.25), Value = 150.0, EasingFunction = new ExponentialEase { EasingMode = EasingMode.EaseIn, Exponent = 6.0 } }); Storyboard.SetTarget(translateAnimation, LayoutRoot); Storyboard.SetTargetProperty(translateAnimation, new PropertyPath("(UIElement.RenderTransform).(CompositeTransform.TranslateY)")); storyboard.Children.Add(translateAnimation); var opacityAnimation = new DoubleAnimationUsingKeyFrames(); opacityAnimation.KeyFrames.Add(new EasingDoubleKeyFrame { KeyTime = TimeSpan.FromSeconds(0.00), Value = 1.0 }); opacityAnimation.KeyFrames.Add(new EasingDoubleKeyFrame { KeyTime = TimeSpan.FromSeconds(0.25), Value = 0.0, EasingFunction = new ExponentialEase { EasingMode = EasingMode.EaseIn, Exponent = 6.0 } }); Storyboard.SetTarget(opacityAnimation, LayoutRoot); Storyboard.SetTargetProperty(opacityAnimation, new PropertyPath("(UIElement.Opacity)")); storyboard.Children.Add(opacityAnimation); storyboard.Begin(); } else if (e.Uri.ToString().EndsWith("AboutView.xaml") || e.Uri.ToString().EndsWith("SettingsView.xaml")) { var storyboard = TelegramTurnstileAnimations.ForwardOut(LayoutRoot); //var translateAnimation = new DoubleAnimationUsingKeyFrames(); //translateAnimation.KeyFrames.Add(new EasingDoubleKeyFrame { KeyTime = TimeSpan.FromSeconds(0.00), Value = 0.0 }); //translateAnimation.KeyFrames.Add(new EasingDoubleKeyFrame { KeyTime = TimeSpan.FromSeconds(0.25), Value = 105.0, EasingFunction = new ExponentialEase { EasingMode = EasingMode.EaseIn, Exponent = 6.0 } }); //Storyboard.SetTarget(translateAnimation, LayoutRoot); //Storyboard.SetTargetProperty(translateAnimation, new PropertyPath("(UIElement.Projection).(PlaneProjection.RotationY)")); //storyboard.Children.Add(translateAnimation); //var opacityAnimation = new DoubleAnimationUsingKeyFrames(); //opacityAnimation.KeyFrames.Add(new EasingDoubleKeyFrame { KeyTime = TimeSpan.FromSeconds(0.00), Value = 1.0 }); //opacityAnimation.KeyFrames.Add(new EasingDoubleKeyFrame { KeyTime = TimeSpan.FromSeconds(0.25), Value = 0.0, EasingFunction = new ExponentialEase { EasingMode = EasingMode.EaseIn, Exponent = 6.0 } }); //Storyboard.SetTarget(opacityAnimation, LayoutRoot); //Storyboard.SetTargetProperty(opacityAnimation, new PropertyPath("(UIElement.Opacity)")); //storyboard.Children.Add(opacityAnimation); storyboard.Begin(); } } }
private bool RunAnimation(EventHandler callback) { if (_isBackwardInAnimation) { _isBackwardInAnimation = false; if (_nextUri != null && _nextUri.ToString().Contains("DialogDetailsView.xaml")) { var storyboard = new Storyboard(); var translateAnimation = new DoubleAnimationUsingKeyFrames(); translateAnimation.KeyFrames.Add(new EasingDoubleKeyFrame { KeyTime = TimeSpan.FromSeconds(0.00), Value = 150.0 }); translateAnimation.KeyFrames.Add(new EasingDoubleKeyFrame { KeyTime = TimeSpan.FromSeconds(0.35), Value = 0.0, EasingFunction = new ExponentialEase { EasingMode = EasingMode.EaseOut, Exponent = 6.0 } }); Storyboard.SetTarget(translateAnimation, LayoutRoot); Storyboard.SetTargetProperty(translateAnimation, new PropertyPath("(UIElement.RenderTransform).(CompositeTransform.TranslateY)")); storyboard.Children.Add(translateAnimation); //LayoutRoot.Opacity = 1.0; LayoutRoot.Opacity = 0.0; var opacityAnimation = new DoubleAnimationUsingKeyFrames(); opacityAnimation.KeyFrames.Add(new EasingDoubleKeyFrame { KeyTime = TimeSpan.FromSeconds(0.00), Value = 1.0 }); opacityAnimation.KeyFrames.Add(new EasingDoubleKeyFrame { KeyTime = TimeSpan.FromSeconds(0.35), Value = 1.0, EasingFunction = new ExponentialEase { EasingMode = EasingMode.EaseOut, Exponent = 6.0 } }); Storyboard.SetTarget(opacityAnimation, LayoutRoot); Storyboard.SetTargetProperty(opacityAnimation, new PropertyPath("(UIElement.Opacity)")); storyboard.Children.Add(opacityAnimation); if (callback != null) { storyboard.Completed += callback; } Deployment.Current.Dispatcher.BeginInvoke(storyboard.Begin); return(true); } if (_nextUri != null && (_nextUri.ToString().EndsWith("AboutView.xaml") || _nextUri.ToString().EndsWith("SettingsView.xaml"))) { var storyboard = TelegramTurnstileAnimations.BackwardIn(LayoutRoot); if (callback != null) { storyboard.Completed += callback; } //var rotationAnimation = new DoubleAnimationUsingKeyFrames(); //rotationAnimation.KeyFrames.Add(new EasingDoubleKeyFrame { KeyTime = TimeSpan.FromSeconds(0.00), Value = 105.0 }); //rotationAnimation.KeyFrames.Add(new EasingDoubleKeyFrame { KeyTime = TimeSpan.FromSeconds(0.35), Value = 0.0, EasingFunction = new ExponentialEase { EasingMode = EasingMode.EaseOut, Exponent = 6.0 } }); //Storyboard.SetTarget(rotationAnimation, LayoutRoot); //Storyboard.SetTargetProperty(rotationAnimation, new PropertyPath("(UIElement.Projection).(PlaneProjection.RotationY)")); //storyboard.Children.Add(rotationAnimation); //if (callback != null) //{ // storyboard.Completed += callback; //} LayoutRoot.Opacity = 1.0; Deployment.Current.Dispatcher.BeginInvoke(storyboard.Begin); return(true); } else { ((CompositeTransform)LayoutRoot.RenderTransform).TranslateY = 0.0; LayoutRoot.Opacity = 1.0; return(false); } } else { ((CompositeTransform)LayoutRoot.RenderTransform).TranslateY = 0.0; LayoutRoot.Opacity = 1.0; return(false); } return(false); }