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.
public class RadPageViewNavigationViewItem : RadPageViewStripItem, INotifyPropertyChanged, ICustomTypeDescriptor, ISupportSystemSkin, IComponent, IDisposable, IBindableComponent, ISupportDrag, ISupportDrop, IShortcutProvider, IStylableElement, IStylableNode, IPrimitiveElement, IShapedElement, IFillElement, IBorderElement, IBoxStyle, IBoxElement, IDrawFillElement, IImageElement, ITextPrimitive, ITextProvider
Declaration
public RadPageViewNavigationViewItem()
Declaration
public static RadProperty CollapsedGlyphProperty
Field Value
Declaration
public static RadProperty ExpandedGlyphProperty
Field Value
Declaration
public static RadProperty HierarchyIndentProperty
Field Value
Declaration
public static RadProperty IsExpandedProperty
Field Value
Gets or sets the glyph used for the expander element, when the IsExpanded is false.
Declaration
public string CollapsedGlyph { get; set; }
Property Value
Gets or sets the glyph used for the expander element, when the IsExpanded is true.
Declaration
public string ExpandedGlyph { get; set; }
Property Value
Gets the element responsible for expanding and collapsing the item if it has hierarchical children.
Declaration
public LightVisualElement Expander { get; }
Property Value
Gets or sets the hierarchical indentation of the child items.
Declaration
public int HierarchyIndent { get; set; }
Property Value
Determines if the item is expanded assuming it has hierarchical children.
Declaration
public bool IsExpanded { get; set; }
Property Value
This property is not relevant for this class.
Declaration
public override bool IsPinned { get; set; }
Property Value
Overrides
This property is not relevant for this class.
Declaration
public override bool IsPreview { get; set; }
Property Value
Overrides
Gets the hierarchical level of the item.
Declaration
public int Level { get; }
Property Value
Declaration
public RadPageViewNavigationViewElement NavigationViewElement { get; }
Property Value
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
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
|
System.Drawing.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.
Declaration
protected override SizeF ArrangeOverride(SizeF finalSize)
Parameters
|
System.Drawing.SizeF
finalSize
The final area within which this element should arrange itself and its children.
|
Returns
|
System.Drawing.SizeF
The actual size used by this element after arrangement.
|
Overrides
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
Overrides
Declaration
protected override bool CanDragCore(Point dragStartPoint)
Parameters
|
System.Drawing.Point
dragStartPoint
|
Returns
Overrides
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
Creates the expander element used for expanding and collapsing hierarchical child items.
Declaration
protected virtual LightVisualElement CreateExpanderElement()
Returns
Detaches the navigation view item from its associated page, unsubscribing from events and cleaning up resources.
Declaration
public override void Detach()
Overrides
Declaration
protected virtual DropPosition GetDropPosition(Point dropLocation)
Parameters
|
System.Drawing.Point
dropLocation
|
Returns
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
Handles the enabled state change event and raises UI automation events for accessibility support.
Declaration
protected override void OnEnabledChanged(RadPropertyChangedEventArgs e)
Parameters
Overrides
Handles the loaded event by wiring up necessary event handlers for navigation view functionality.
Declaration
protected override void OnLoaded()
Overrides
Declaration
protected override void OnMouseEnter(EventArgs e)
Parameters
Overrides
Declaration
protected override void OnMouseLeave(EventArgs e)
Parameters
Overrides
Declaration
protected virtual void OnPinPositionChanged(NavigationViewItemPinPosition oldValue, NavigationViewItemPinPosition newValue)
Parameters
Handles property changed events for expand/collapse state changes and text updates that affect header display.
Declaration
protected override void OnPropertyChanged(RadPropertyChangedEventArgs args)
Parameters
Overrides
Handles property changing events, specifically managing expand/collapse cancellation through navigation view element events.
Declaration
protected override void OnPropertyChanging(RadPropertyChangingEventArgs args)
Parameters
Overrides
Declaration
protected override void ProcessDragDrop(Point dropLocation, ISupportDrag dragObject)
Parameters
Overrides
Unwires event handlers from the navigation view element and popup control to prevent memory leaks and unwanted callbacks.
Declaration
protected virtual void UnwireEvents()
Wires up event handlers for navigation view element and popup control events to enable proper hierarchical navigation behavior.
Declaration
protected virtual void WireEvents()