// Based on Windows UI Library // Copyright(c) Microsoft Corporation.All rights reserved. // ReSharper disable once CheckNamespace namespace WPFluent.Controls; /// /// Defines events for . /// public partial class NavigationView { /// /// Identifies the routed event. /// public static readonly RoutedEvent BackRequestedEvent = EventManager.RegisterRoutedEvent( nameof(BackRequested), RoutingStrategy.Bubble, typeof(TypedEventHandler), typeof(NavigationView)); /// /// Identifies the routed event. /// public static readonly RoutedEvent ItemInvokedEvent = EventManager.RegisterRoutedEvent( nameof(ItemInvoked), RoutingStrategy.Bubble, typeof(TypedEventHandler), typeof(NavigationView)); /// /// Identifies the routed event. /// public static readonly RoutedEvent NavigatedEvent = EventManager.RegisterRoutedEvent( nameof(Navigated), RoutingStrategy.Bubble, typeof(TypedEventHandler), typeof(NavigationView)); /// /// Identifies the routed event. /// public static readonly RoutedEvent NavigatingEvent = EventManager.RegisterRoutedEvent( nameof(Navigating), RoutingStrategy.Bubble, typeof(TypedEventHandler), typeof(NavigationView)); /// /// Identifies the routed event. /// public static readonly RoutedEvent PaneClosedEvent = EventManager.RegisterRoutedEvent( nameof(PaneClosed), RoutingStrategy.Bubble, typeof(TypedEventHandler), typeof(NavigationView)); /// /// Identifies the routed event. /// public static readonly RoutedEvent PaneOpenedEvent = EventManager.RegisterRoutedEvent( nameof(PaneOpened), RoutingStrategy.Bubble, typeof(TypedEventHandler), typeof(NavigationView)); /// /// Identifies the routed event. /// public static readonly RoutedEvent SelectionChangedEvent = EventManager.RegisterRoutedEvent( nameof(SelectionChanged), RoutingStrategy.Bubble, typeof(TypedEventHandler), typeof(NavigationView)); /// public event TypedEventHandler BackRequested { add => AddHandler(BackRequestedEvent, value); remove => RemoveHandler(BackRequestedEvent, value); } /// public event TypedEventHandler ItemInvoked { add => AddHandler(ItemInvokedEvent, value); remove => RemoveHandler(ItemInvokedEvent, value); } /// public event TypedEventHandler Navigated { add => AddHandler(NavigatedEvent, value); remove => RemoveHandler(NavigatedEvent, value); } /// public event TypedEventHandler Navigating { add => AddHandler(NavigatingEvent, value); remove => RemoveHandler(NavigatingEvent, value); } /// public event TypedEventHandler PaneClosed { add => AddHandler(PaneClosedEvent, value); remove => RemoveHandler(PaneClosedEvent, value); } /// public event TypedEventHandler PaneOpened { add => AddHandler(PaneOpenedEvent, value); remove => RemoveHandler(PaneOpenedEvent, value); } /// public event TypedEventHandler SelectionChanged { add => AddHandler(SelectionChangedEvent, value); remove => RemoveHandler(SelectionChangedEvent, value); } /// /// Raises the back requested event. /// protected virtual void OnBackRequested() { RaiseEvent(new RoutedEventArgs(BackRequestedEvent)); } /// /// Raises the item invoked event. /// protected virtual void OnItemInvoked() { RaiseEvent(new RoutedEventArgs(ItemInvokedEvent, this)); } /// /// Raises the navigated requested event. /// protected virtual void OnNavigated(object page) { var eventArgs = new NavigatedEventArgs(NavigatedEvent, this) { Page = page }; RaiseEvent(eventArgs); } /// /// Raises the navigating requested event. /// protected virtual bool OnNavigating(object sourcePage) { var eventArgs = new NavigatingCancelEventArgs(NavigatingEvent, this) { Page = sourcePage }; RaiseEvent(eventArgs); return eventArgs.Cancel; } /// /// Raises the pane closed event. /// protected virtual void OnPaneClosed() { RaiseEvent(new RoutedEventArgs(PaneClosedEvent, this)); } /// /// Raises the pane opened event. /// protected virtual void OnPaneOpened() { RaiseEvent(new RoutedEventArgs(PaneOpenedEvent, this)); } /// /// Raises the selection changed event. /// protected virtual void OnSelectionChanged() { RaiseEvent(new RoutedEventArgs(SelectionChangedEvent, this)); } }