ClassNavigationViewItemLayout
Represents a specialized layout implementation for navigation view items that supports header and footer item pinning. Extends StripViewItemLayout to provide hierarchical arrangement of navigation items with fixed header and footer areas alongside a scrollable content region for regular items.
Definition
Namespace:Telerik.WinControls.UI
Assembly:Telerik.WinControls.UI.dll
Syntax:
public class NavigationViewItemLayout : StripViewItemLayout, INotifyPropertyChanged, ICustomTypeDescriptor, ISupportSystemSkin, IBindableComponent, IComponent, IDisposable, ISupportDrag, ISupportDrop, IShortcutProvider, IStylableElement, IStylableNode, IPrimitiveElement, IShapedElement, IFillElement, IBorderElement, IBoxStyle, IBoxElement, IDrawFillElement, IImageElement, ITextPrimitive, ITextProvider
Inheritance: objectDisposableObjectRadObjectRadElementVisualElementRadComponentElementRadItemUIItemBaseLightVisualElementRadPageViewElementBaseStripViewItemLayoutNavigationViewItemLayout
Derived Classes:
Implements:
Inherited Members
Constructors
NavigationViewItemLayout()
Declaration
public NavigationViewItemLayout()
Properties
FooterAreaHeight
Gets the total height of the footer area containing all pinned footer items and their background. The height is calculated dynamically based on visible footer items and includes spacing and margins.
HeaderAreaHeight
Gets the total height of the header area containing all pinned header items and their background. The height is calculated dynamically based on visible header items and includes spacing and margins.
Methods
ArrangeItems(RectangleF, RectangleF)
Arranges navigation view items by categorizing them into header, scrollable, and footer groups based on their pin position. Handles the layout of pinned header items, scrollable content items, and pinned footer items with proper background arrangements and scroll bar positioning considerations.
Declaration
protected override void ArrangeItems(RectangleF client, RectangleF clientNoOffset)
Parameters
client
The client rectangle including scroll offset for arranging scrollable items.
clientNoOffset
The client rectangle without scroll offset for arranging pinned items.
Overrides
ArrangeItems(RectangleF, RectangleF, IEnumerable<RadElement>, int, int, ref float, ref float)
Arranges a collection of navigation view items within the specified client rectangles with hierarchical level support. Provides a virtual implementation for arranging items that can be overridden by derived classes to customize arrangement behavior.
Declaration
protected virtual void ArrangeItems(RectangleF client, RectangleF clientNoOffset, IEnumerable<RadElement> items, int zIndex, int level, ref float left, ref float top)
Parameters
client
The client rectangle including scroll offset for item positioning.
clientNoOffset
The client rectangle without scroll offset for reference positioning.
items
IEnumerable<RadElement>
The collection of RadElement items to arrange.
zIndex
The Z-index value to assign to the arranged items for layering.
level
The hierarchical level of the items being arranged for indentation and styling.
left
The left position reference that gets updated as items are arranged horizontally.
top
The top position reference that gets updated as items are arranged vertically.
CoerceScrollOffset(int)
Coerces the scroll offset to ensure it remains within valid bounds considering header and footer areas. Adjusts the scroll offset to prevent scrolling beyond the content limits while accounting for the heights of header and footer background separators.
CreateChildElements()
Creates the child elements required for the navigation view layout including header and footer background items. Configures the visual background elements for pinned header and footer areas with appropriate styling classes.
Declaration
protected override void CreateChildElements()
Overrides
InitializeFields()
Initializes the fields and properties specific to the NavigationViewItemLayout. Configures mouse input notification, capture behavior, and focus settings for navigation view behavior.
Declaration
protected override void InitializeFields()
Overrides
MeasureOverride(SizeF)
Measures the layout and calculates the desired size including header and footer background elements. Extends the base measurement by adding the heights of header and footer background areas to the total layout size.
ScrollToItem(RadPageViewItem)
Scrolls the layout to ensure the specified navigation view item is visible within the scrollable content area. Handles scrolling logic for items that are not pinned to header or footer areas, adjusting the scroll position to bring the target item into the visible client rectangle.
Declaration
protected override void ScrollToItem(RadPageViewItem item)
Parameters
item
The RadPageViewItem to scroll to and make visible.
Overrides