I am working on a Universal Windows (UWP) app and I want to add some page NavigationTransitions to my pages . I know that I can use 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 no result . I also tried to get definitions of default navigations and I were able to write some code like below but don't know what I have 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)
{
}
}
}
Actually you can achieve that in W10 Creators Update. Take a look at this blog post I've just found on Twitter.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With