Skip to main content Link Search Menu Expand Document (external link)

NavigationView

Namespace: FluentAvalonia.UI.Controls

Represents a container that enables navigation of app content. It has a header, a view for the main content, and a menu pane for navigation commands.

C#

public class NavigationView : HeaderedContentControl


Xaml

<ui:NavigationView />


Required Template Parts

Name Control Type
TogglePaneButton Button
PaneHeaderContentBorder ContentControl
PaneCustomContentBorder ContentControl
FooterContentBorder ContentControl
PaneHeaderOnTopPane ContentControl
PaneTitleOnTopPane ContentControl
PaneCustomContentOnTopPane ContentControl
PaneFooterOnTopPane ContentControl
RootSplitView SplitView
TopNavGrid Grid
MenuItemsHost ItemsRepeater
TopNavMenuItemsHost ItemsRepeater
TopNavMenuItemsOverflowHost ItemsRepeater
TopNavOverflowButton Button
FooterMenuItemsHost ItemsRepeater
TopFooterMenuItemsHost ItemsRepeater
TopNavContentOverlayAreaGrid Border
PaneAutoSuggestBoxPresenter ContentControl
TopPaneAutoSuggestBoxPresenter ContentControl
PaneContentGrid Grid
ContentLeftPadding Rectangle
PlaceholderGrid Grid
PaneTitleTextBlock Control
PaneTitlePresenter ContentControl
PaneTitleHolder Control
PaneAutoSuggestButton Button
NavigationViewBackButton Button
NavigationViewCloseButton Button
MenuItemsScrollViewer ScrollViewer
FooterItemsScrollViewer ScrollViewer
ItemsContainerGrid Control


Pseudoclasses

:separator, :listsizecompact, :closedcompact, :backbuttoncollapsed, :panecollapsed, :headercollapsed, :minimalwithback, :minimal, :topnavminimal, :compact, :expanded, :autosuggestcollapsed, :settingscollapsed, :panetogglecollapsed, :panenotoverlaying, :disabled, :focus, :focus-visible, :focus-within, :pointerover



Examples and Usage Notes

None yet.


API

Note: Inherited members are not shown


Properties

AlwaysShowHeader Gets or sets a value that indicates whether the header is always visible.
AlwaysShowHeaderProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.AlwaysShowHeader` property
AutoCompleteBox Gets or sets an `Avalonia.Controls.AutoCompleteBox` to be displayed in the NavigationView.
AutoCompleteBoxProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.AutoCompleteBox` property
CompactModeThresholdWidth Gets or sets the minimum window width at which the NavigationView enters Compact display mode.
CompactModeThresholdWidthProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.CompactModeThresholdWidth` property
CompactPaneLength Gets or sets the width of the NavigationView pane in its compact display mode.
CompactPaneLengthProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.CompactPaneLength` property
ContentOverlay Gets or sets a UI element that is shown at the top of the control, below the pane if PaneDisplayMode is Top.
ContentOverlayProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.ContentOverlay` property
DisplayMode Gets a value that specifies how the pane and content areas of a NavigationView are being shown.
DisplayModeProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.DisplayMode` property
ExpandedModeThresholdWidth Gets or sets the minimum window width at which the NavigationView enters Expanded display mode.
ExpandedModeThresholdWidthProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.ExpandedModeThresholdWidth` property
FooterMenuItems Gets the list of objects to be used as navigation items in the footer menu.
FooterMenuItemsProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.FooterMenuItemsProperty`
FooterMenuItemsSource Gets or sets the object that represents the navigation items to be used in the footer menu.
FooterMenuItemsSourceProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.FooterMenuItems` property
IsBackButtonVisible Gets or sets a value that indicates whether the back button is visible or not.
IsBackButtonVisibleProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.IsBackButtonVisible` property
IsBackEnabled Gets or sets a value that indicates whether the back button is enabled or disabled.
IsBackEnabledProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.IsBackEnabled` property
IsPaneOpen Gets or sets a value that specifies whether the NavigationView pane is expanded to its full width.
IsPaneOpenProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.IsPaneOpen` property
IsPaneToggleButtonVisible Gets or sets a value that indicates whether the menu toggle button is shown.
IsPaneToggleButtonVisibleProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.IsPaneToggleButtonVisible` property
IsPaneVisible Gets or sets a value that determines whether the pane is shown.
IsPaneVisibleProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.IsPaneVisible` property
IsSettingsVisible Gets or sets a value that indicates whether the settings button is shown.
IsSettingsVisibleProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.IsSettingsVisible` property
MenuItems Gets the collection of menu items displayed in the NavigationView.
MenuItemsProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.MenuItems` property
MenuItemsSource Gets or sets an object source used to generate the content of the NavigationView menu.
MenuItemsSourceProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.MenuItemsSource` property
MenuItemTemplate Gets or sets the DataTemplate used to display each menu item.
MenuItemTemplateProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.MenuItemTemplate` property
MenuItemTemplateSelector Gets or sets a reference to a custom DataTemplateSelector logic class. The DataTemplateSelector referenced by this property returns a template to apply to items.
MenuItemTemplateSelectorProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.MenuItemTemplate` property
NavigationViewItemRevokersProperty Property that stores disposables to each NavigationViewItem when their created in the ItemsRepeater, so they can be disposed when the item is removed
OpenPaneLength Gets or sets the width of the NavigationView pane when it's fully expanded.
OpenPaneLengthProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.OpenPaneLength` property
PaneCustomContent Gets or sets a UI element that is shown in the NavigationView pane.
PaneCustomContentProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.PaneCustomContent` property
PaneDisplayMode Gets or sets a value that indicates how and where the NavigationView pane is shown.
PaneDisplayModeProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.PaneDisplayMode` property
PaneFooter Gets or sets the content for the pane footer.
PaneFooterProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.PaneFooter` property
PaneHeader Gets or sets the content for the pane header.
PaneHeaderProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.PaneHeader` property
PaneTitle Gets or sets the label adjacent to the menu icon when the NavigationView pane is open.
PaneTitleProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.PaneTitle` property
SelectedItem Gets or sets the selected item.
SelectedItemProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.SelectedItem` property
SelectionFollowsFocus Gets or sets a value that indicates whether item selection changes when keyboard focus changes.
SelectionFollowsFocusProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.SelectionFollowsFocus` property
SettingsItem Gets the navigation item that represents the entry point to app settings.
SettingsItemProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.SettingsItem` property
TemplateSettings Gets an object that provides calculated values that can be referenced as TemplateBinding sources when defining templates for a NavigationView control.
TemplateSettingsProperty Defines the `FluentAvalonia.UI.Controls.NavigationView.TemplateSettings` property


Events

BackRequested Occurs when the back button receives an interaction such as a click or tap.
DisplayModeChanged Occurs when the DisplayMode property changes.
ItemCollapsed Occurs when a node in the tree is collapsed.
ItemExpanding Occurs when a node in the tree starts to expand.
ItemInvoked Occurs when an item in the menu receives an interaction such a a click or tap.
PaneClosed Occurs when the NavigationView pane is closed.
PaneClosing Occurs when the NavigationView pane is closing.
PaneOpened Occurs when the NavigationView pane is opened.
PaneOpening Occurs when the NavigationView pane is opening.
SelectionChanged Occurs when the currently selected item changes.


Methods

CoercePropertyValueToGreaterThanZero(AvaloniaObject, Double) Coerces a double to ensure its valid for use, i.e. >= 0 and not NaN or infinity Used for: CompactModeThresholdWidthProperty, CompactPaneLengthProperty, ExpandedModeThresholdWidthProperty, and OpenPaneLengthProperty


NavigationViewDisplayMode

Minimal Only the menu button remains fixed. The pane shows and hides as needed.
Compact The pane always shows as a narrow sliver which can be opened to full width.
Expanded The pane stays open alongside the content.


NavigationViewPaneDisplayMode

Auto The pane is shown on the left side of the control, and changes between minimal, compact, and full states depending on the width of the window.
Left The pane is shown on the left side of the control in its fully open state.
Top The pane is shown at the top of the control.
LeftCompact The pane is shown on the left side of the control. Only the pane icons are shown by default.
LeftMinimal The pane is shown on the left side of the control. Only the pane menu button is shown by default.


NavigationViewPaneClosingEventArgs

Cancel Gets or sets a value that indicates whether the event should be canceled.
SplitViewClosingArgs Gets the events pane closing event args from the SplitView


NavigationViewBackRequestedEventArgs


NavigationViewSelectionChangedEventArgs

SelectedItem Gets the newly selected menu item.
SelectedItemContainer Gets the container for the selected item.
IsSettingsSelected Gets a value that indicates whether the SelectedItem is the menu item for Settings.
RecommendedNavigationTransitionInfo Gets the navigation transition recommended for the direction of the navigation.


NavigationViewItemInvokedEventArgs

InvokedItem Gets a reference to the invoked item.
IsSettingsInvoked Gets a value that indicates whether the InvokedItem is the menu item for Settings.
InvokedItemContainer Gets the container for the invoked item.
RecommendedNavigationTransitionInfo Gets the navigation transition recommended for the direction of the navigation.


NavigationViewDisplayModeChangedEventArgs

DisplayMode Gets the new display mode.


NavigationViewItemExpandingEventArgs

ExpandingItem Gets the object that is expanding after the NavigationViewItem.Expanding event.
ExpandingItemContainer Gets the container of the expanding item after a NavigationViewItem.Expanding event.


NavigationViewItemCollapsedEventArgs

CollapsedItem Gets the object that has been collapsed after the NavigationViewItem.ItemCollapsed event.
CollapsedItemContainer Gets the container of the object that was collapsed in the NavigationViewItem.ItemCollapsed event.