Represents the visual element for the NavigationView style of a RadPageView control, providing a modern navigation pattern with hamburger menu functionality and hierarchical page organization.
Definition
Namespace:Telerik.WinControls.UI
Assembly:Telerik.WinControls.UI.dll
Syntax:
public class RadPageViewNavigationViewElement : RadPageViewStripElement, INotifyPropertyChanged, ICustomTypeDescriptor, ISupportSystemSkin, IBindableComponent, IComponent, IDisposable, ISupportDrag, ISupportDrop, IShortcutProvider, IStylableElement, IStylableNode, IPrimitiveElement, IShapedElement, IFillElement, IBorderElement, IBoxStyle, IBoxElement, IDrawFillElement, IImageElement, ITextPrimitive, ITextProvider
Inheritance: objectDisposableObjectRadObjectRadElementVisualElementRadComponentElementRadItemUIItemBaseLightVisualElementRadPageViewElementBaseRadPageViewElementRadPageViewStripElementRadPageViewNavigationViewElement...
Implements:
Inherited Members
Constructors
Initializes a new instance of the RadPageViewNavigationViewElement class.
public RadPageViewNavigationViewElement()
Fields
Identifies the CollapsedGlyph dependency property.
public static RadProperty CollapsedGlyphProperty
Identifies the CollapsedPaneWidth dependency property.
public static RadProperty CollapsedPaneWidthProperty
Identifies the CompactModeThresholdWidth dependency property.
public static RadProperty CompactModeThresholdWidthProperty
Identifies the DisplayMode dependency property.
public static RadProperty DisplayModeProperty
Identifies the ExpandedGlyph dependency property.
public static RadProperty ExpandedGlyphProperty
Identifies the ExpandedModeThresholdWidth dependency property.
public static RadProperty ExpandedModeThresholdWidthProperty
Identifies the ExpandedPaneWidth dependency property.
public static RadProperty ExpandedPaneWidthProperty
Identifies the HeaderHeight dependency property.
public static RadProperty HeaderHeightProperty
Identifies the HierarchyIndent dependency property.
public static RadProperty HierarchyIndentProperty
Identifies the HierarchyPopupExpandMode dependency property.
public static RadProperty HierarchyPopupExpandModeProperty
Identifies the ItemExpandCollapseMode dependency property.
public static RadProperty ItemExpandCollapseModeProperty
Properties
Gets or sets a value indicating whether animations are enabled for expand and collapse operations.
public bool AllowAnimation { get; set; }
Gets or sets the total number of animation frames used during expand and collapse operations.
public int AnimationFrames { get; set; }
Gets or sets the interval between animation frames during expand and collapse operations.
public int AnimationInterval { get; set; }
Gets or sets the glyph displayed in the expander element when a navigation item is in its collapsed state.
public string CollapsedGlyph { get; set; }
Gets or sets the width of the navigation pane when the view is in collapsed state.
public int CollapsedPaneWidth { get; set; }
Gets or sets the width threshold that determines when the navigation view switches between collapsed and compact modes in auto display mode.
public int CompactModeThresholdWidth { get; set; }
Gets or sets the display mode that determines how the navigation view renders and behaves.
public NavigationViewDisplayModes DisplayMode { get; set; }
Gets or sets the glyph displayed in the expander element when a navigation item is in its expanded state.
public string ExpandedGlyph { get; set; }
Gets or sets the width threshold that determines when the navigation view switches between compact and expanded modes in auto display mode.
public int ExpandedModeThresholdWidth { get; set; }
Gets or sets the width of the navigation pane when the view is in expanded state.
public int ExpandedPaneWidth { get; set; }
Gets the hamburger button element that toggles the navigation view's collapsed state.
public RadButtonElement HamburgerButton { get; }
Gets the header element that displays the current page title and provides additional navigation options.
public NavigationViewHeaderElement HeaderElement { get; }
Gets or sets the height of the header area that contains the page title and navigation controls.
public int HeaderHeight { get; set; }
Gets or sets the indentation amount applied to child navigation items in hierarchical structures.
public int HierarchyIndent { get; set; }
Gets or sets the expand mode for hierarchical popups that determines when child items are displayed in popup menus.
public NavigationViewHierarchyPopupExpandMode HierarchyPopupExpandMode { get; set; }
Gets a value indicating whether the navigation view is currently in its collapsed state.
public bool IsCollapsed { get; }
Gets or sets the interaction mode that determines how hierarchical navigation items can be expanded and collapsed.
public NavigationViewItemExpandCollapseMode ItemExpandCollapseMode { get; set; }
Gets or sets the minimum size for hierarchical popup menus, with automatic size calculation based on item content as the default behavior.
public Size MinumumHierarchicalPopupSize { get; set; }
Gets or sets the visibility mode for the new item functionality.
public override StripViewNewItemVisibility NewItemVisibility { get; set; }
Overrides:
Gets the popup control used in minimal and compact display modes to show navigation items.
public virtual RadPopupControlBase Popup { get; }
Gets the stack layout element that organizes navigation items within the popup.
public virtual StackLayoutElement PopupStack { get; }
Methods
Adds a navigation item to the footer area of the navigation view for secondary actions or settings.
public void AddFooterItem(RadPageViewItem item)
The navigation item to be displayed in the footer area.
Adds a page to the footer area of the navigation view for secondary actions or settings.
public void AddFooterPage(RadPageViewPage page)
The page to be displayed in the footer area.
Adds a navigation item to the header area of the navigation view for quick access.
public void AddHeaderItem(RadPageViewItem item)
The navigation item to be displayed in the header area.
Adds a page to the header area of the navigation view for quick access.
public void AddHeaderPage(RadPageViewPage page)
The page to be displayed in the header area.
Handles the addition of a new navigation item to the view, ensuring proper configuration and hierarchy.
protected override void AddItemCore(RadPageViewItem item)
The navigation item being added to the view.
Overrides:
Applies the appropriate theme to a popup control based on the element tree's theme configuration.
public static void ApplyThemeToPopup(RadElementTree elementTree, RadPopupControlBase popup)
The element tree containing theme information.
popupRadPopupControlBaseThe popup control to apply the theme to.
Arranges the navigation items and content areas within the specified rectangle, considering the current display mode.
protected override RectangleF ArrangeItems(RectangleF itemsRect)
The rectangle containing the area available for arranging navigation items.
Returns:The rectangle representing the content area after navigation items have been arranged.
Overrides:
Arranges the navigation view element and its children within the specified size, positioning elements according to the current display mode.
This method is not relevant for this class.
Collapses the navigation view to its minimal state, hiding navigation items while keeping the hamburger button visible.
public virtual void Collapse()
Creates the child elements of the navigation view including the header and hamburger button.
protected override void CreateChildElements()
Overrides:
Creates the hamburger button element for the navigation view.
protected virtual HamburgerButtonElement CreateHamburgerButton()
A new HamburgerButtonElement instance.
Creates the header element for the navigation view.
protected virtual NavigationViewHeaderElement CreateHeaderElement()
A new NavigationViewHeaderElement instance.
Creates a new navigation view item.
protected override RadPageViewItem CreateItem()
A new RadPageViewNavigationViewItem instance.
Overrides:
Creates a new item container for the navigation view.
protected override StripViewItemContainer CreateItemContainer()
A new NavigationViewItemContainer instance.
Overrides:
Creates the popup control used in minimal and compact display modes.
Creates the stack layout element for organizing items in the popup.
protected virtual StackLayoutElement CreatePopupStack()
A new StackLayoutElement instance.
Ensures that the navigation view's layout and behavior matches the specified display mode.
protected virtual void EnsureDisplayMode(NavigationViewDisplayModes mode)
The display mode to ensure is properly configured.
Expands the navigation view from its collapsed state, showing navigation items and enabling full interaction.
public virtual void Expand()
Determines the effective display mode based on the current configuration and available space.
protected virtual NavigationViewDisplayModes GetEffectiveDisplayMode()
The display mode that should be used for the current conditions.
Determines the effective display mode based on the specified width and current configuration.
protected virtual NavigationViewDisplayModes GetEffectiveDisplayMode(float width)
The available width for determining the appropriate display mode.
Returns:The display mode that should be used for the specified width.
Determines the arrow direction for peek popup functionality in the navigation view.
protected override ArrowDirection GetPeekPopupArrowDirection()
The arrow direction for peek popups.
Overrides:
Measures the navigation items within the available space, applying constraints based on pane width settings.
Measures the navigation view element and its children to determine the desired size based on available space and current display mode.
Fires the event.
Fires the event.
protected virtual void OnCollapsing(CancelEventArgs e)
The event arguments.
Handles changes to the enabled state and raises appropriate UI automation events for accessibility support.
protected override void OnEnabledChanged(RadPropertyChangedEventArgs e)
The property change event arguments containing the enabled state change details.
Overrides:
Fires the event.
Fires the event.
protected virtual void OnExpanding(CancelEventArgs e)
The event arguments.
Fires the event.
protected virtual void OnItemCollapsing(object item, CancelEventArgs e)
The item.
eCancelEventArgsThe event arguments.
Fires the event.
protected virtual void OnItemExpanding(object item, CancelEventArgs e)
The item.
eCancelEventArgsThe event arguments.
Fires the event.
protected virtual void OnItemPopupClosing(object item, CancelEventArgs e)
The item.
eCancelEventArgsThe event arguments.
Fires the event.
protected virtual void OnItemPopupOpening(object item, CancelEventArgs e)
The item.
eCancelEventArgsThe event arguments.
Called when the element is loaded and ready for interaction, initializing header text and other UI elements.
protected override void OnLoaded()
Overrides:
Handles property change notifications for the navigation view and updates appropriate visual states and layouts.
protected override void OnNotifyPropertyChanged(PropertyChangedEventArgs e)
The property change event arguments containing information about the changed property.
Overrides:
Handles property change notifications and applies appropriate updates to the navigation view's state and appearance.
protected override void OnPropertyChanged(RadPropertyChangedEventArgs e)
The property change event arguments containing details about the changed property.
Overrides:
Pins a navigation item to a specific position within the navigation view layout.
public void PinItem(RadPageViewItem item, NavigationViewItemPinPosition position)
The navigation item to be pinned.
positionNavigationViewItemPinPositionThe target pin position for the item.
Pins a page item to a specific position within the navigation view layout.
public void PinPage(RadPageViewPage page, NavigationViewItemPinPosition position)
The page whose navigation item will be pinned.
positionNavigationViewItemPinPositionThe target pin position for the item.
Handles the removal of a navigation item from the view, performing necessary cleanup operations.
protected override void RemoveItemCore(RadPageViewItem item)
The navigation item being removed from the view.
Overrides:
Handles navigation between items in the view, supporting hierarchical structures and proper focus management.
protected override bool SelectNextItemCore(RadPageViewItem current, bool forward, bool wrap)
The currently selected navigation item.
forwardboolTrue to navigate forward, false to navigate backward.
wrapboolTrue to allow wrapping from the last item to the first or vice versa.
Returns:True if navigation was successful, false otherwise.
Overrides:
Configures the navigation view for the specified display mode and applies the appropriate layout settings.
protected virtual void SetDisplayMode(NavigationViewDisplayModes mode)
The display mode to be applied to the navigation view.
Sets the specified navigation item as the currently selected item and updates the navigation view accordingly.
protected override void SetSelectedItem(RadPageViewItem item)
The navigation item to be selected.
Overrides:
Determines whether a specific child element should participate in the arrange phase of layout.
protected override bool ShouldArrangeChild(RadElement child)
The child element to evaluate for arrangement participation.
Returns:True if the child should be arranged, false if it should be excluded from arrangement.
Overrides:
Determines whether a specific child element should participate in the measure phase of layout.
protected override bool ShouldMeasureChild(RadElement child)
The child element to evaluate for measurement participation.
Returns:True if the child should be measured, false if it should be excluded from measurement.
Overrides:
Removes the pinned status from a navigation item, allowing it to return to its normal position.
public void UnpinItem(RadPageViewItem item)
The navigation item to be unpinned.
Removes the pinned status from a page item, allowing it to return to its normal position.
public void UnpinPage(RadPageViewPage page)
The page to be unpinned.
Events
Occurs after the hamburger menu is collapsed.
public event EventHandler Collapsed
Occurs before the hamburger menu is collapsed.
public event CancelEventHandler Collapsing
Occurs after the hamburger menu is expanded.
public event EventHandler Expanded
Occurs before the hamburger menu is expanded.
public event CancelEventHandler Expanding
Occurs after a hierarchical navigation item is collapsed.
public event EventHandler ItemCollapsed
Occurs before a hierarchical navigation item is collapsed.
public event CancelEventHandler ItemCollapsing
Occurs after a hierarchical navigation item is expanded.
public event EventHandler ItemExpanded
Occurs before a hierarchical navigation item is expanded.
public event CancelEventHandler ItemExpanding
Occurs after a hierarchy popup associated with a RadPageViewNavigationViewItem has closed. The actual item is passed as the sender in the event handler.
public event EventHandler ItemPopupClosed
Occurs before a hierarchy popup associated with a RadPageViewNavigationViewItem closes. The actual item is passed as the sender in the event handler.
public event CancelEventHandler ItemPopupClosing
Occurs after a hierarchical popup associated with a RadPageViewNavigationViewItem has opened. The actual item is passed as the sender in the event handler.
public event EventHandler ItemPopupOpened
Occurs before a hierarchical popup associated with a RadPageViewNavigationViewItem opens. The actual item is passed as the sender in the event handler.
public event CancelEventHandler ItemPopupOpening