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 }); }
/// <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); }
/// <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)); }
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(); } }