Represents a specialized navigation view item that extends RadPageViewStripItem with hierarchical navigation capabilities. Supports expandable/collapsible item states, hierarchical indentation, pinning to header or footer positions, and popup-based display for child items in collapsed navigation views.
Definition
Namespace:Telerik.WinControls.UI
Assembly:Telerik.WinControls.UI.dll
Syntax:
public class RadPageViewNavigationViewItem : RadPageViewStripItem, INotifyPropertyChanged, ICustomTypeDescriptor, ISupportSystemSkin, IBindableComponent, IComponent, IDisposable, ISupportDrag, ISupportDrop, IShortcutProvider, IStylableElement, IStylableNode, IPrimitiveElement, IShapedElement, IFillElement, IBorderElement, IBoxStyle, IBoxElement, IDrawFillElement, IImageElement, ITextPrimitive, ITextProvider
Inheritance: objectDisposableObjectRadObjectRadElementVisualElementRadComponentElementRadItemUIItemBaseLightVisualElementRadPageViewElementBaseRadPageViewItemRadPageViewStripItemRadPageViewNavigationViewItem...
Implements:
Inherited Members
Constructors
public RadPageViewNavigationViewItem()
Fields
public static RadProperty CollapsedGlyphProperty
public static RadProperty ExpandedGlyphProperty
public static RadProperty HierarchyIndentProperty
public static RadProperty IsExpandedProperty
Properties
Gets or sets the glyph used for the expander element, when the IsExpanded is false.
public string CollapsedGlyph { get; set; }
Gets or sets the glyph used for the expander element, when the IsExpanded is true.
public string ExpandedGlyph { get; set; }
Gets the element responsible for expanding and collapsing the item if it has hierarchical children.
public LightVisualElement Expander { get; }
Gets or sets the hierarchical indentation of the child items.
public int HierarchyIndent { get; set; }
Determines if the item is expanded assuming it has hierarchical children.
public bool IsExpanded { get; set; }
Gets the RadPageViewNavigationViewElement owner of this item.
public RadPageViewNavigationViewElement NavigationViewElement { get; }
Gets or sets the pin position determining where the item is fixed within the navigation view layout. When set to Header the item is pinned at the top. When set to Footer the item is pinned at the bottom. When set to None the item appears in the normal scrollable area.
public NavigationViewItemPinPosition PinPosition { get; set; }
Gets the hierarchical popup associated with this item.
public virtual RadPopupControlBase Popup { get; }
Gets the item layout added to the hierarchical popup.
public virtual NavigationViewPopupItemLayout PopupLayout { get; }
Methods
Arranges the content of the navigation view item with hierarchical indentation based on the item's level. Applies appropriate horizontal offset for nested items and handles RTL layout considerations.
protected override void ArrangeContent(SizeF finalSize)
The final size available for content arrangement.
Overrides:
Arranges the navigation view item elements within the specified final size, positioning the expander element according to RTL settings and available space.
Attaches the navigation view item to the specified page, configuring expander visibility and subscribing to sub-page collection changes.
public override void Attach(RadPageViewPage page)
The RadPageViewPage to attach this item to.
Overrides:
Closes any currently shown popup that is different from this item's popup to ensure only one popup is displayed at a time.
protected virtual void CloseCurrentlyShownPopup(bool preserveOwnPopup = true)
Creates the child elements for the navigation view item including the expander element for hierarchical navigation. Configures the expander with appropriate font, size, alignment, and event handling settings.
protected override void CreateChildElements()
Overrides:
Creates the expander element used for expanding and collapsing hierarchical child items.
protected virtual LightVisualElement CreateExpanderElement()
A new LightVisualElement configured as the expander.
Creates the popup control used to display hierarchical child items when the navigation view is collapsed. Configures animation settings and layout arrangement for the popup display.
protected virtual RadPopupControlBase CreatePopup()
A new RadPopupControlBase configured for hierarchical item display.
Creates the popup item layout used to arrange child items within the hierarchical popup.
protected virtual NavigationViewPopupItemLayout CreatePopupLayout()
A new NavigationViewPopupItemLayout for arranging popup content.
Detaches the navigation view item from its associated page, unsubscribing from events and cleaning up resources.
public override void Detach()
Overrides:
protected virtual DropPosition GetDropPosition(Point dropLocation)
Initializes the fields and properties specific to the RadPageViewNavigationViewItem. Configures pin position, drag-drop support, mouse input handling, and layout margins.
protected override void InitializeFields()
Overrides:
Handles the enabled state change event and raises UI automation events for accessibility support.
protected override void OnEnabledChanged(RadPropertyChangedEventArgs e)
The RadPropertyChangedEventArgs containing the enabled state change information.
Overrides:
Raises the KeyDown event.
protected override void OnKeyDown(KeyEventArgs e)
The key event arguments.
Overrides:
Handles the loaded event by wiring up necessary event handlers for navigation view functionality.
protected override void OnLoaded()
Overrides:
Called when a mouse button is released over the item.
protected override void OnMouseUp(MouseEventArgs e)
The mouse event arguments.
Overrides:
Raises the MouseWheel event.
protected override void OnMouseWheel(MouseEventArgs e)
The mouse event arguments.
Overrides:
protected virtual void OnPinPositionChanged(NavigationViewItemPinPosition oldValue, NavigationViewItemPinPosition newValue)
Handles property changed events for expand/collapse state changes and text updates that affect header display.
protected override void OnPropertyChanged(RadPropertyChangedEventArgs args)
The RadPropertyChangedEventArgs containing property change information.
Overrides:
Handles property changing events, specifically managing expand/collapse cancellation through navigation view element events.
protected override void OnPropertyChanging(RadPropertyChangingEventArgs args)
The RadPropertyChangingEventArgs containing property change information.
Overrides:
Performs cleanup during disposal, ensuring proper event unwiring and resource cleanup.
protected override void PerformDispose(bool disposing)
True to release both managed and unmanaged resources; false to release only unmanaged resources.
Overrides:
Core logic when a drag-drop is performed over this element. Allows inheritors to provide their own implementations.
protected override void ProcessDragDrop(Point dropLocation, ISupportDrag dragObject)
The location where the drop occurred.
dragObjectISupportDragThe object being dragged.
Overrides:
Shows the hierarchical popup containing child navigation items when the parent navigation view is collapsed. Configures popup positioning, theming, sizing, and animation settings before displaying.
protected virtual void ShowPopup()
Unwires event handlers from the navigation view element and popup control to prevent memory leaks and unwanted callbacks.
protected virtual void UnwireEvents()
Wires up event handlers for navigation view element and popup control events to enable proper hierarchical navigation behavior.
protected virtual void WireEvents()