Exemplo n.º 1
0
 private void RunAnimation()
 {
     if (_isForwardInAnimation)
     {
         _isForwardInAnimation = false;
         var forwardInAnimation = TelegramTurnstileAnimations.GetAnimation(LayoutRoot, TurnstileTransitionMode.ForwardIn);
         Execute.BeginOnUIThread(forwardInAnimation.Begin);
     }
     else
     {
         LayoutRoot.Opacity = 1.0;
     }
 }
Exemplo n.º 2
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;
     }
 }
Exemplo n.º 3
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();
                }
            }
        }
Exemplo n.º 4
0
        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);
        }