ClassRadPageViewNavigationViewItem
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
RadPageViewNavigationViewItem()
Declaration
public RadPageViewNavigationViewItem()
Fields
CollapsedGlyphProperty
Declaration
public static RadProperty CollapsedGlyphProperty
Field Value
ExpandedGlyphProperty
Declaration
public static RadProperty ExpandedGlyphProperty
Field Value
HierarchyIndentProperty
Declaration
public static RadProperty HierarchyIndentProperty
Field Value
Properties
CollapsedGlyph
Gets or sets the glyph used for the expander element, when the IsExpanded is false.
ExpandedGlyph
Gets or sets the glyph used for the expander element, when the IsExpanded is true.
Expander
Gets the element responsible for expanding and collapsing the item if it has hierarchical children.
Declaration
public LightVisualElement Expander { get; }
Property Value
HierarchyIndent
Gets or sets the hierarchical indentation of the child items.
IsExpanded
Determines if the item is expanded assuming it has hierarchical children.
Level
Gets the hierarchical level of the item.
NavigationViewElement
Gets the RadPageViewNavigationViewElement owner of this item.
Declaration
public RadPageViewNavigationViewElement NavigationViewElement { get; }
Property Value
PinPosition
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.
Declaration
public NavigationViewItemPinPosition PinPosition { get; set; }
Property Value
Popup
Gets the hierarchical popup associated with this item.
Declaration
public virtual RadPopupControlBase Popup { get; }
Property Value
PopupLayout
Gets the item layout added to the hierarchical popup.
Declaration
public virtual NavigationViewPopupItemLayout PopupLayout { get; }
Property Value
Methods
ArrangeContent(SizeF)
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.
Declaration
protected override void ArrangeContent(SizeF finalSize)
Parameters
finalSize
The final size available for content arrangement.
Overrides
ArrangeOverride(SizeF)
Arranges the navigation view item elements within the specified final size, positioning the expander element according to RTL settings and available space.
Attach(RadPageViewPage)
Attaches the navigation view item to the specified page, configuring expander visibility and subscribing to sub-page collection changes.
Declaration
public override void Attach(RadPageViewPage page)
Parameters
page
The RadPageViewPage to attach this item to.
Overrides
CanDragCore(Point)
Determines whether the element may be dragged.
CloseCurrentlyShownPopup(bool)
Closes any currently shown popup that is different from this item's popup to ensure only one popup is displayed at a time.
Declaration
protected virtual void CloseCurrentlyShownPopup(bool preserveOwnPopup = true)
Parameters
preserveOwnPopup
CreateChildElements()
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.
Declaration
protected override void CreateChildElements()
Overrides
CreateExpanderElement()
Creates the expander element used for expanding and collapsing hierarchical child items.
Declaration
protected virtual LightVisualElement CreateExpanderElement()
Returns
A new LightVisualElement configured as the expander.
CreatePopup()
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.
Declaration
protected virtual RadPopupControlBase CreatePopup()
Returns
A new RadPopupControlBase configured for hierarchical item display.
CreatePopupLayout()
Creates the popup item layout used to arrange child items within the hierarchical popup.
Declaration
protected virtual NavigationViewPopupItemLayout CreatePopupLayout()
Returns
A new NavigationViewPopupItemLayout for arranging popup content.
Detach()
Detaches the navigation view item from its associated page, unsubscribing from events and cleaning up resources.
Declaration
public override void Detach()
Overrides
GetDropPosition(Point)
Declaration
protected virtual DropPosition GetDropPosition(Point dropLocation)
Parameters
dropLocation
Returns
InitializeFields()
Initializes the fields and properties specific to the RadPageViewNavigationViewItem. Configures pin position, drag-drop support, mouse input handling, and layout margins.
Declaration
protected override void InitializeFields()
Overrides
OnEnabledChanged(RadPropertyChangedEventArgs)
Handles the enabled state change event and raises UI automation events for accessibility support.
Declaration
protected override void OnEnabledChanged(RadPropertyChangedEventArgs e)
Parameters
e
The RadPropertyChangedEventArgs containing the enabled state change information.
Overrides
OnKeyDown(KeyEventArgs)
Raises the KeyDown event.
Declaration
protected override void OnKeyDown(KeyEventArgs e)
Parameters
e
The key event arguments.
Overrides
OnLoaded()
Handles the loaded event by wiring up necessary event handlers for navigation view functionality.
Declaration
protected override void OnLoaded()
Overrides
OnMouseEnter(EventArgs)
Declaration
protected override void OnMouseEnter(EventArgs e)
Parameters
e
Overrides
OnMouseLeave(EventArgs)
Declaration
protected override void OnMouseLeave(EventArgs e)
Parameters
e
Overrides
OnMouseUp(MouseEventArgs)
Called when a mouse button is released over the item.
Declaration
protected override void OnMouseUp(MouseEventArgs e)
Parameters
e
The mouse event arguments.
Overrides
OnMouseWheel(MouseEventArgs)
Raises the MouseWheel event.
Declaration
protected override void OnMouseWheel(MouseEventArgs e)
Parameters
e
The mouse event arguments.
Overrides
OnPinPositionChanged(NavigationViewItemPinPosition, NavigationViewItemPinPosition)
Declaration
protected virtual void OnPinPositionChanged(NavigationViewItemPinPosition oldValue, NavigationViewItemPinPosition newValue)
Parameters
oldValue
newValue
OnPropertyChanged(RadPropertyChangedEventArgs)
Handles property changed events for expand/collapse state changes and text updates that affect header display.
Declaration
protected override void OnPropertyChanged(RadPropertyChangedEventArgs args)
Parameters
args
The RadPropertyChangedEventArgs containing property change information.
Overrides
OnPropertyChanging(RadPropertyChangingEventArgs)
Handles property changing events, specifically managing expand/collapse cancellation through navigation view element events.
Declaration
protected override void OnPropertyChanging(RadPropertyChangingEventArgs args)
Parameters
args
The RadPropertyChangingEventArgs containing property change information.
Overrides
PerformDispose(bool)
Performs cleanup during disposal, ensuring proper event unwiring and resource cleanup.
Declaration
protected override void PerformDispose(bool disposing)
Parameters
disposing
True to release both managed and unmanaged resources; false to release only unmanaged resources.
Overrides
ProcessDragDrop(Point, ISupportDrag)
Core logic when a drag-drop is performed over this element. Allows inheritors to provide their own implementations.
Declaration
protected override void ProcessDragDrop(Point dropLocation, ISupportDrag dragObject)
Parameters
dropLocation
The location where the drop occurred.
dragObject
The object being dragged.
Overrides
ShowPopup()
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.
Declaration
protected virtual void ShowPopup()
UnwireEvents()
Unwires event handlers from the navigation view element and popup control to prevent memory leaks and unwanted callbacks.
Declaration
protected virtual void UnwireEvents()
WireEvents()
Wires up event handlers for navigation view element and popup control events to enable proper hierarchical navigation behavior.
Declaration
protected virtual void WireEvents()