New to Telerik UI for WPFStart a free 30-day trial

Represents a control that implements a modern hamburger menu navigation system for application content. This class provides a flexible and responsive interface for managing navigation views with multiple display modes, including Compact, Expanded, and Minimal. It allows for navigation item selection, keyboard navigation, and visual feedback for item interactions. The control supports a hierarchical structure, enabling the creation of expandable items and submenus. It also includes features such as customizable panes, automatic display mode switching based on width, and event handling for item clicks, pane openings, and closures. The RadNavigationView can be styled and themed to suit different application designs, making it a versatile choice for modern applications.

Definition

Namespace:Telerik.Windows.Controls

Assembly:Telerik.Windows.Controls.Navigation.dll

Syntax:

C#
[TelerikToolboxCategory("Navigation")]
public class RadNavigationView : Selector

Inheritance: objectRadNavigationView

Constructors

Initializes a new instance of the RadNavigationView class.

C#
public RadNavigationView()

Fields

Identifies the AllowMultipleExpandedItems dependency property.

C#
public static readonly DependencyProperty AllowMultipleExpandedItemsProperty

Identifies the AllowSingleClickExpandInCompactMode dependency property.

C#
public static readonly DependencyProperty AllowSingleClickExpandInCompactModeProperty

Identifies the AutoChangeDisplayMode dependency property.

C#
public static readonly DependencyProperty AutoChangeDisplayModeProperty

Identifies the CanKeyboardNavigationSelectItems dependency property.

C#
public static readonly DependencyProperty CanKeyboardNavigationSelectItemsProperty

Identifies the CompactModeThresholdWidth dependency property.

C#
public static readonly DependencyProperty CompactModeThresholdWidthProperty

CompactPaneWidthProperty

DependencyProperty

Identifies the CompactPaneWidth dependency property.

C#
public static readonly DependencyProperty CompactPaneWidthProperty

ContentProperty

DependencyProperty

Identifies the Content dependency property.

C#
public static readonly DependencyProperty ContentProperty

ContentTemplateProperty

DependencyProperty

Identifies the ContentTemplate dependency property.

C#
public static readonly DependencyProperty ContentTemplateProperty

DisplayModeProperty

DependencyProperty

Identifies the DisplayMode dependency property.

C#
public static readonly DependencyProperty DisplayModeProperty

Identifies the ExpandedModeThresholdWidth dependency property.

C#
public static readonly DependencyProperty ExpandedModeThresholdWidthProperty

ExpandedPaneWidthProperty

DependencyProperty

Identifies the ExpandedPaneWidth dependency property.

C#
public static readonly DependencyProperty ExpandedPaneWidthProperty

IsPaneOpenProperty

DependencyProperty

Identifies the IsPaneOpen dependency property.

C#
public static readonly DependencyProperty IsPaneOpenProperty

PaneBackgroundProperty

DependencyProperty

Identifies the PaneBackground dependency property.

C#
public static readonly DependencyProperty PaneBackgroundProperty

PaneClosedEvent

RoutedEvent

Identifies the PaneClosed routed event.

C#
public static readonly RoutedEvent PaneClosedEvent

PaneFooterProperty

DependencyProperty

Identifies the PaneFooter dependency property.

C#
public static readonly DependencyProperty PaneFooterProperty

PaneFooterTemplateProperty

DependencyProperty

Identifies the PaneFooterTemplate dependency property.

C#
public static readonly DependencyProperty PaneFooterTemplateProperty

Identifies the PaneFooterTemplateSelector dependency property.

C#
public static readonly DependencyProperty PaneFooterTemplateSelectorProperty

Identifies the PaneHeaderBackground dependency property.

C#
public static readonly DependencyProperty PaneHeaderBackgroundProperty

Identifies the PaneHeaderForeground dependency property.

C#
public static readonly DependencyProperty PaneHeaderForegroundProperty

PaneHeaderHeightProperty

DependencyProperty

Identifies the PaneHeaderHeight dependency property.

C#
public static readonly DependencyProperty PaneHeaderHeightProperty

PaneHeaderProperty

DependencyProperty

Identifies the PaneHeader dependency property.

C#
public static readonly DependencyProperty PaneHeaderProperty

PaneHeaderTemplateProperty

DependencyProperty

Identifies the PaneHeaderTemplate dependency property.

C#
public static readonly DependencyProperty PaneHeaderTemplateProperty

Identifies the PaneHeaderTemplateSelector dependency property.

C#
public static readonly DependencyProperty PaneHeaderTemplateSelectorProperty

PaneOpenedEvent

RoutedEvent

Identifies the PaneOpened routed event.

C#
public static readonly RoutedEvent PaneOpenedEvent

Identifies the PaneToggleButtonContent dependency property.

C#
public static readonly DependencyProperty PaneToggleButtonContentProperty

Identifies the PaneToggleButtonContentTemplate dependency property.

C#
public static readonly DependencyProperty PaneToggleButtonContentTemplateProperty

Identifies the PaneToggleButtonStyle dependency property.

C#
public static readonly DependencyProperty PaneToggleButtonStyleProperty

Identifies the PaneToggleButtonVisibility dependency property.

C#
public static readonly DependencyProperty PaneToggleButtonVisibilityProperty

PaneWidthProperty

DependencyProperty

Identifies the PaneWidth dependency property.

C#
public static readonly DependencyProperty PaneWidthProperty

SelectedItemProperty

DependencyProperty

Identifies the SelectedItem dependency property.

C#
public static readonly DependencyProperty SelectedItemProperty

SubItemsIndentationProperty

DependencyProperty

Identifies the SubItemsIndentation dependency property.

C#
public static readonly DependencyProperty SubItemsIndentationProperty

Properties

Gets or sets value specifying whether multiple top level items can get expanded at the same time. Not supported when the DisplayMode is Compact. The default value is true.

C#
public bool AllowMultipleExpandedItems { get; set; }

Gets or sets a value specifying whether top level RadNavigationViewItems can be expanded with a single click when the DisplayMode is compact and the items are displayed in a flyout. The default value is true.

C#
public bool AllowSingleClickExpandInCompactMode { get; set; }

Gets or sets a value that indicates if the NavigationView will auto change the display modes depending on its width.

C#
public bool AutoChangeDisplayMode { get; set; }

Gets or sets the value specifying whether the keyboard navigation in the NavigationView should change the selection.

C#
public bool CanKeyboardNavigationSelectItems { get; set; }

Gets or sets the minimum width at which the NavigationView enters Compact display mode.

C#
public double CompactModeThresholdWidth { get; set; }

Gets or sets the width of the NavigationView pane in its compact display mode.

C#
public double CompactPaneWidth { get; set; }

Gets or sets the content of RadNavigationView.

C#
public object Content { get; set; }

ContentTemplate

DataTemplate

Gets or sets the content template of RadNavigationView.

C#
public DataTemplate ContentTemplate { get; set; }

Gets or sets a value that indicates where the NavigationView pane is currently shown.

C#
public NavigationViewDisplayMode DisplayMode { get; set; }

Gets or sets the minimum width at which the NavigationView enters Expanded display mode.

C#
public double ExpandedModeThresholdWidth { get; set; }

Gets or sets the width of the NavigationView pane when it's fully expanded.

C#
public double ExpandedPaneWidth { get; set; }

Gets the index of the highlighted item - it works only for top level items. For sub items the property returns -1.

C#
public int HighlightedIndex { get; }
Property Value:

The index of the highlighted item.

Gets or sets a value that specifies whether the NavigationView pane is expanded to its full width.

C#
public bool IsPaneOpen { get; set; }

Gets an enumerator for the logical child objects of the System.Windows.Controls.ItemsControl object.

C#
protected override IEnumerator LogicalChildren { get; }

Gets or sets the background of the pane.

C#
public Brush PaneBackground { get; set; }

Gets or sets the content for the pane footer.

C#
public object PaneFooter { get; set; }

PaneFooterTemplate

DataTemplate

Gets or sets the content template for the pane footer.

C#
public DataTemplate PaneFooterTemplate { get; set; }

PaneFooterTemplateSelector

DataTemplateSelector

Gets or sets the content template selector for the pane footer.

C#
public DataTemplateSelector PaneFooterTemplateSelector { get; set; }

Gets or sets the content for the pane header.

C#
public object PaneHeader { get; set; }

Gets or sets the background of the pane header.

C#
public Brush PaneHeaderBackground { get; set; }

Gets or sets the foreground of the pane header.

C#
public Brush PaneHeaderForeground { get; set; }

Gets or sets the height of the pane header.

C#
public double PaneHeaderHeight { get; set; }

PaneHeaderTemplate

DataTemplate

Gets or sets the content template for the pane header.

C#
public DataTemplate PaneHeaderTemplate { get; set; }

PaneHeaderTemplateSelector

DataTemplateSelector

Gets or sets the content template selector for the pane header.

C#
public DataTemplateSelector PaneHeaderTemplateSelector { get; set; }

Gets or sets the content of the pane toggle button.

C#
public object PaneToggleButtonContent { get; set; }

Gets or sets the content template of the pane toggle button.

C#
public DataTemplate PaneToggleButtonContentTemplate { get; set; }

Gets or sets the Style of the pane toggle button.

C#
public Style PaneToggleButtonStyle { get; set; }

Gets or sets the Visibility of the pane toggle button.

C#
public Visibility PaneToggleButtonVisibility { get; set; }

Gets a value that specifies the current width of the pane.

C#
public double PaneWidth { get; }

Gets or sets the first item in the current selection or returns null if the selection is empty.

C#
public object SelectedItem { get; set; }

Gets or sets the indentation length for the sub NavigationViewItems.

C#
public double SubItemsIndentation { get; set; }

Methods

Creates or identifies the element that is used to display the given item.

C#
protected override DependencyObject GetContainerForItemOverride()
Returns:

DependencyObject

Contains the keyboard navigation logic of RadNavigationView.

C#
protected virtual bool HandleKeyDown(Key key)
Parameters:keyKey

The key that has been pressed.

Returns:

bool

True if the KeyDown event should be handled, otherwise false.

Determines whether the index is selectable.

C#
protected virtual bool IsIndexSelectable(int index)
Parameters:indexint

The index.

Returns:

bool

Determines if the specified item is (or is eligible to be) its own container.

C#
protected override bool IsItemItsOwnContainerOverride(object item)
Parameters:itemobject

The item to check.

Returns:

bool

True if the item is (or is eligible to be) its own container; otherwise, false.

When overridden in a derived class, is invoked whenever application code or internal processes call. .

C#
public override void OnApplyTemplate()

Invoked when the Content property changes.

C#
protected virtual void OnContentChanged(object oldContent, object newContent)
Parameters:oldContentobject

The old value of the Content property.

newContentobject

The new value of the Content property.

Returns class-specific AutomationPeer.

C#
protected override AutomationPeer OnCreateAutomationPeer()
Returns:

AutomationPeer

The type-specific AutomationPeer implementation.

Invoked when the DisplayMode property changes.

C#
protected virtual void OnDisplayModeChanged()

Raises the event. This method is invoked whenever is set to true internally.

C#
protected override void OnInitialized(EventArgs e)
Parameters:eEventArgs

The RoutedEventArgs that contains the event data.

Invoked when the IsPaneOpen property changes.

C#
protected virtual void OnIsPaneOpenChanged()

Raises the ItemClick event.

C#
protected virtual void OnItemClick(RoutedEventArgs args)
Parameters:argsRoutedEventArgs

The RoutedEventArgs instance containing the event data.

This is invoked after layout update before rendering if the element's RenderSize has changed as a result of layout update.

C#
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo)
Parameters:sizeInfoSizeChangedInfo

Prepares the specified element to display the specified item.

C#
protected override void PrepareContainerForItemOverride(DependencyObject element, object item)
Parameters:elementDependencyObject

Element used to display the specified item.

itemobject

Specified item.

Resets the theme.

C#
public void ResetTheme()

Scrolls the item on given index into view.

C#
public void ScrollIntoView(int index)
Parameters:indexint

The index.

Scrolls the item into view.

C#
public void ScrollIntoView(object item)
Parameters:itemobject

Events

ItemClick

RoutedEventHandler

Occurs when an item was clicked.

C#
public event RoutedEventHandler ItemClick

ItemCollapsed

RoutedEventHandler

Occurs when the RadNavigationViewItem gets collapsed.

C#
public event RoutedEventHandler ItemCollapsed

ItemExpanded

RoutedEventHandler

Occurs when the RadNavigationViewItem gets expanded.

C#
public event RoutedEventHandler ItemExpanded

PaneClosed

RoutedEventHandler

Occurs when the NavigationView pane is closed.

C#
public event RoutedEventHandler PaneClosed

PaneOpened

RoutedEventHandler

Occurs when the NavigationView pane is opened.

C#
public event RoutedEventHandler PaneOpened
In this article
DefinitionConstructorsRadNavigationView()FieldsAllowMultipleExpandedItemsPropertyAllowSingleClickExpandInCompactModePropertyAutoChangeDisplayModePropertyCanKeyboardNavigationSelectItemsPropertyCompactModeThresholdWidthPropertyCompactPaneWidthPropertyContentPropertyContentTemplatePropertyDisplayModePropertyExpandedModeThresholdWidthPropertyExpandedPaneWidthPropertyIsPaneOpenPropertyPaneBackgroundPropertyPaneClosedEventPaneFooterPropertyPaneFooterTemplatePropertyPaneFooterTemplateSelectorPropertyPaneHeaderBackgroundPropertyPaneHeaderForegroundPropertyPaneHeaderHeightPropertyPaneHeaderPropertyPaneHeaderTemplatePropertyPaneHeaderTemplateSelectorPropertyPaneOpenedEventPaneToggleButtonContentPropertyPaneToggleButtonContentTemplatePropertyPaneToggleButtonStylePropertyPaneToggleButtonVisibilityPropertyPaneWidthPropertySelectedItemPropertySubItemsIndentationPropertyPropertiesAllowMultipleExpandedItemsAllowSingleClickExpandInCompactModeAutoChangeDisplayModeCanKeyboardNavigationSelectItemsCompactModeThresholdWidthCompactPaneWidthContentContentTemplateDisplayModeExpandedModeThresholdWidthExpandedPaneWidthHighlightedIndexIsPaneOpenLogicalChildrenPaneBackgroundPaneFooterPaneFooterTemplatePaneFooterTemplateSelectorPaneHeaderPaneHeaderBackgroundPaneHeaderForegroundPaneHeaderHeightPaneHeaderTemplatePaneHeaderTemplateSelectorPaneToggleButtonContentPaneToggleButtonContentTemplatePaneToggleButtonStylePaneToggleButtonVisibilityPaneWidthSelectedItemSubItemsIndentationMethodsGetContainerForItemOverride()HandleKeyDown(Key)IsIndexSelectable(int)IsItemItsOwnContainerOverride(object)OnApplyTemplate()OnContentChanged(object, object)OnCreateAutomationPeer()OnDisplayModeChanged()OnInitialized(EventArgs)OnIsPaneOpenChanged()OnItemClick(RoutedEventArgs)OnRenderSizeChanged(SizeChangedInfo)PrepareContainerForItemOverride(DependencyObject, object)ResetTheme()ScrollIntoView(int)ScrollIntoView(object)EventsItemClickItemCollapsedItemExpandedPaneClosedPaneOpened
Not finding the help you need?
Contact Support