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