Create a custom NavigationTransitionInfo to navigate page navigation in UWP

I am working on Universal Windows (UWP) and I want to add some NavigationTransitions pages to my pages. I know that I can use the default NavigationThemeTransition, like the code below:

<Page.Transitions> <TransitionCollection> <NavigationThemeTransition> <NavigationThemeTransition.DefaultNavigationTransitionInfo> <CommonNavigationTransitionInfo/> </NavigationThemeTransition.DefaultNavigationTransitionInfo> </NavigationThemeTransition> </TransitionCollection> </Page.Transitions> 

but I want to create my own navigation transition, I searched many times, but did not get any result. I also tried to get the default definitions of navigation, and I was able to write some code as shown below, but I don't know what I need to write in code blocks. Any help?

  using Windows.UI.Xaml; using Windows.UI.Xaml.Media.Animation; using Windows.UI.Xaml.Controls.Primitives; namespace BindingSample2 { internal interface IWikiSedaNavigationTransitionInfo { System.Boolean IsStaggeringEnabled { get; set; } } public sealed class WikiSedaNavigationTransitionInfo : NavigationTransitionInfo, IWikiSedaNavigationTransitionInfo { // // Summary: // Initializes a new instance of the WikiSedaNavigationTransitionInfo class. public WikiSedaNavigationTransitionInfo() { var a = this.GetNavigationStateCore(); var s = this.MemberwiseClone(); // NavigationThemeTransition theme = new NavigationThemeTransition(); var themeR = new EdgeUIThemeTransition(); themeR.Edge = EdgeTransitionLocation.Bottom; //Transitions = collection; } // Summary: // Identifies the CommonNavigationTransitionInfo.IsStaggerElement attached property. // // Returns: // The identifier for the CommonNavigationTransitionInfo.IsStaggerElement attached // property. public static DependencyProperty IsStaggerElementProperty { get; } // Summary: // Identifies the IsStaggeringEnabled dependency property. // // Returns: // The identifier for the IsStaggeringEnabled dependency property. public static DependencyProperty IsStaggeringEnabledProperty { get; } // Summary: // Gets or sets a Boolean value indicating if staggering is enabled for the navigation // transition. // // Returns: // A Boolean value indicating if staggering is enabled for the navigation transition. public System.Boolean IsStaggeringEnabled { get; set; } // Summary: // Returns a Boolean value indicating if the specified UIElement is the stagger // element for the navigation transition. // // Parameters: // element: // The UIElement to check as being the stagger element. // // Returns: // Returns true if element is the stagger element; otherwise false. public static System.Boolean GetIsStaggerElement(UIElement element) { return false; } // Summary: // Sets a Boolean value indicating if the specified UIElement is the stagger element // for the navigation transition. // // Parameters: // element: // The UIElement about which to set the stagger element indicator. // // value: // Set this value to true if element is the stagger element; otherwise set it to // false. public static void SetIsStaggerElement(UIElement element, System.Boolean value) { } } } 
+5
source share
1 answer

In fact, you can achieve this in the W10 Creators Update. Take a look at this blog post I just found on Twitter .

+1
source

Source: https://habr.com/ru/post/1265655/


All Articles