Ejemplo n.º 1
0
 private static TransitionElement Create(SlideTransitionMode forwardMode)
 {
     return(new SlideTransition()
     {
         Mode = forwardMode
     });
 }
        private SlideTransition SlideTransitionElement(string mode)
        {
            SlideTransitionMode slideTransitionMode = (SlideTransitionMode)Enum.Parse(typeof(SlideTransitionMode), mode, false);

            return(new SlideTransition {
                Mode = slideTransitionMode
            });
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Creates an
        /// <see cref="T:ModernWpf.Controls.ITransition"/>
        /// for a
        /// <see cref="T:System.Windows.UIElement"/>
        /// for the slide transition family.
        /// </summary>
        /// <param name="element">The <see cref="T:System.Windows.UIElement"/>.</param>
        /// <param name="containerSize">The size of the container.</param>
        /// <param name="slideTransitionMode">The transition mode.</param>
        /// <returns>The <see cref="T:ModernWpf.Controls.ITransition"/>.</returns>
        public static ITransition Slide(UIElement element, Size containerSize, SlideTransitionMode slideTransitionMode)
        {
            if (element == null)
            {
                throw new ArgumentNullException("element");
            }
            if (!Enum.IsDefined(typeof(SlideTransitionMode), slideTransitionMode))
            {
                throw new ArgumentOutOfRangeException("slideTransitionMode");
            }
            element.RenderTransform = new TranslateTransform();
            ITransition transition = GetEnumStoryboard <SlideTransitionMode>(element, string.Empty, slideTransitionMode);

            if (transition != null)
            {
                switch (slideTransitionMode)
                {
                case SlideTransitionMode.SlideLeftIn:
                case SlideTransitionMode.SlideLeftOut:
                case SlideTransitionMode.SlideRightIn:
                case SlideTransitionMode.SlideRightOut:
                    var stroyboard = (transition as Transition)?.Storyboard;
                    if (stroyboard != null && stroyboard.Children.Count > 0)
                    {
                        if (stroyboard.Children[0] is DoubleAnimation translateAnimation)
                        {
                            double width = element.RenderSize.Width;
                            if (width == 0)
                            {
                                width = containerSize.Width;
                            }

                            double?from = translateAnimation.From;
                            if (from.GetValueOrDefault() != 0)
                            {
                                translateAnimation.From = Math.Sign(from.Value) * width;
                            }
                            else
                            {
                                double?to = translateAnimation.To;
                                if (to.GetValueOrDefault() != 0)
                                {
                                    translateAnimation.To = Math.Sign(to.Value) * width;
                                }
                            }
                        }
                    }
                    break;
                }
            }
            return(transition);
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Creates an
 /// <see cref="T:Microsoft.Phone.Controls.ITransition"/>
 /// for a
 /// <see cref="T:System.Windows.UIElement"/>
 /// for the slide transition family.
 /// </summary>
 /// <param name="element">The <see cref="T:System.Windows.UIElement"/>.</param>
 /// <param name="slideTransitionMode">The transition mode.</param>
 /// <returns>The <see cref="T:Microsoft.Phone.Controls.ITransition"/>.</returns>
 public static ITransition Slide(UIElement element, SlideTransitionMode slideTransitionMode)
 {
     if (element == null)
     {
         throw new ArgumentNullException("element");
     }
     if (!Enum.IsDefined(typeof(SlideTransitionMode), slideTransitionMode))
     {
         throw new ArgumentOutOfRangeException("slideTransitionMode");
     }
     element.RenderTransform = new TranslateTransform();
     return(GetEnumStoryboard <SlideTransitionMode>(element, string.Empty, slideTransitionMode));
 }
Ejemplo n.º 5
0
        protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
        {
            if (AppHelper.AppEff)
            {
                SlideTransitionMode slideTransitionMode = (SlideTransitionMode)Enum.Parse(typeof(SlideTransitionMode), "SlideDownFadeOut", false);
                TransitionElement   transitionElement   = new SlideTransition {
                    Mode = slideTransitionMode
                };

                PhoneApplicationPage phoneApplicationPage = (PhoneApplicationPage)(((PhoneApplicationFrame)Application.Current.RootVisual)).Content;

                ITransition transition = transitionElement.GetTransition(phoneApplicationPage);
                transition.Completed += delegate { transition.Stop(); };
                transition.Begin();
            }
        }
        // Избранное
        private void AppList_Click_1(object sender, EventArgs e)
        {
            NavigationService.Navigate(new Uri("/Pages/ListPage.xaml", UriKind.Relative));

            if (AppHelper.AppEff)
            {
                SlideTransitionMode slideTransitionMode = (SlideTransitionMode)Enum.Parse(typeof(SlideTransitionMode), "SlideDownFadeOut", false);
                TransitionElement   transitionElement   = new SlideTransition {
                    Mode = slideTransitionMode
                };

                PhoneApplicationPage phoneApplicationPage = (PhoneApplicationPage)(((PhoneApplicationFrame)Application.Current.RootVisual)).Content;

                ITransition transition = transitionElement.GetTransition(phoneApplicationPage);
                transition.Completed += delegate { transition.Stop(); };
                transition.Begin();
            }
        }