skip navigation
  • Product Bundles

    DevCraft

    All Telerik .NET tools and Kendo UI JavaScript components in one package. Now enhanced with:

    • AI Coding Assistants
    • Embedded Reporting
    • Document Processing Libraries
    • SSO Account Sign-in

    Web

    Kendo UI UI for Angular UI for Vue UI for jQuery KendoReact UI for Blazor UI for ASP.NET Core UI for ASP.NET MVC UI for ASP.NET AJAX

    Mobile

    UI for .NET MAUI

    Document Management

    Telerik Document Processing

    Desktop

    UI for .NET MAUI UI for WinUI UI for WinForms UI for WPF

    Reporting

    Telerik Reporting Telerik Report Server

    Testing & Mocking

    Test Studio Telerik JustMock

    CMS

    Sitefinity

    AI Productivity Tools

    AI Coding Assistants

    UI/UX Tools

    ThemeBuilder Design System Kit Templates and Building Blocks

    Debugging

    Fiddler Fiddler Everywhere Fiddler Classic Fiddler Everywhere Reporter FiddlerCore

    Free Tools

    KendoReact Free VB.NET to C# Converter Testing Framework
    View all products
  • Overview
  • Demos
    • What's New
    • Roadmap
    • Release History
  • Support and Learning

    • Support and Learning Hub
    • First Steps
    • Docs
    • Demos
    • Virtual Classroom
    • Forums
    • Videos
    • Blogs
    • Accessibility
    • Submit a Ticket

    Productivity and Design Tools

    • Visual Studio Extensions
    • Visual Studio Templates
    • Embedded Reporting
  • Pricing
  • Shopping cart
    • Account Overview
    • Your Licenses
    • Downloads
    • Support Center
    • Forum Profile
    • Payment Methods
    • Edit Profile
    • Log out
  • Login
  • Contact Us
  • Try now

Class WrapLayoutPanel

A layout panel that arranges child elements in sequential position with automatic wrapping and flexible sizing capabilities.

Inheritance
System.Object
DisposableObject
RadObject
RadElement
LayoutPanel
WrapLayoutPanel
IntegralScrollWrapPanel
RadCommandBarOverflowPanel
Inherited Members
LayoutPanel.LayoutPanelLastStateKey
LayoutPanel.VsbVisible
RadElement.BoundsProperty
RadElement.BorderThicknessProperty
RadElement.PaddingProperty
RadElement.MarginProperty
RadElement.AlignmentProperty
RadElement.AutoSizeModeProperty
RadElement.FitToSizeModeProperty
RadElement.MinSizeProperty
RadElement.EnabledProperty
RadElement.CanFocusProperty
RadElement.IsItemFocusedProperty
RadElement.IsFocusedProperty
RadElement.IsMouseOverProperty
RadElement.IsMouseOverElementProperty
RadElement.IsMouseDownProperty
RadElement.ShouldPaintProperty
RadElement.VisibilityProperty
RadElement.NameProperty
RadElement.ClassProperty
RadElement.ClipDrawingProperty
RadElement.ShapeProperty
RadElement.MouseClickedEvent
RadElement.MouseDoubleClickedEvent
RadElement.MouseDownEvent
RadElement.MouseUpEvent
RadElement.MouseWheelEvent
RadElement.ChildElementAddedEvent
RadElement.ParentChangedEvent
RadElement.BoundsChangedEvent
RadElement.VisibilityChangingEvent
RadElement.EnabledChangedEvent
RadElement.ControlChangedEvent
RadElement.BackgroundShapeProperty
RadElement.BackgroundShapePaintModeProperty
RadElement.ContainsFocusProperty
RadElement.ContainsMouseProperty
RadElement.IsEditedInSpyProperty
RadElement.MaxSizeProperty
RadElement.RightToLeftProperty
RadElement.AutoSizeProperty
RadElement.ZIndexProperty
RadElement.AngleTransformProperty
RadElement.ScaleTransformProperty
RadElement.PositionOffsetProperty
RadElement.TagProperty
RadElement.StretchHorizontallyProperty
RadElement.StretchVerticallyProperty
RadElement.UseCompatibleTextRenderingProperty
RadElement.ClickModeProperty
RadElement.styleVersion
RadElement.paintSystemSkin
RadElement.TraceInvalidation
RadElement.SetPropertyValueCommand
RadElement.GetPropertyValueCommand
RadElement.RadElementLastStateKey
RadElement.StyleProperty
RadElement.CallCreateChildElements()
RadElement.SuspendReferenceUpdate()
RadElement.ResumeReferenceUpdate()
RadElement.CreateChildElements()
RadElement.OnLoad(Boolean)
RadElement.CallOnLoad(Boolean)
RadElement.LoadCore()
RadElement.OnLoaded()
RadElement.OnUnload(ComponentThemableElementTree, Boolean)
RadElement.UnloadCore(ComponentThemableElementTree)
RadElement.OnUnloaded(ComponentThemableElementTree)
RadElement.OnElementTreeChanged(ComponentThemableElementTree)
RadElement.OnBeginDispose()
RadElement.SetParent(RadElement)
RadElement.OnParentChanged(RadElement)
RadElement.UpdateReferences(ComponentThemableElementTree, Boolean, Boolean)
RadElement.SetIsDesignMode(Boolean, Boolean)
RadElement.ChangeCollection(RadElement, ItemsChangeOperation)
RadElement.ResetLayout(Boolean)
RadElement.HasInvisibleAncestor()
RadElement.ResetLayoutCore()
RadElement.SetAllLocalValuesAsDefault(Boolean)
RadElement.InvalidateArrange()
RadElement.InvalidateArrange(Boolean)
RadElement.InvalidateMeasure()
RadElement.InvalidateMeasure(Boolean)
RadElement.UpdateLayout()
RadElement.SuspendLayout()
RadElement.SuspendLayout(Boolean)
RadElement.ResumeLayout(Boolean)
RadElement.ResumeLayout(Boolean, Boolean)
RadElement.Arrange(RectangleF)
RadElement.Measure(SizeF)
RadElement.SetBounds(Rectangle)
RadElement.SetBounds(Int32, Int32, Int32, Int32)
RadElement.GetBoundingRectangle(Size)
RadElement.GetBoundingRectangle(Rectangle)
RadElement.GetDesiredSize(Boolean)
RadElement.PointToScreen(Point)
RadElement.PointFromScreen(Point)
RadElement.PointToControl(Point)
RadElement.PointFromControl(Point)
RadElement.LocationToControl()
RadElement.RectangleToScreen(Rectangle)
RadElement.HitTest(Point)
RadElement.CallOnRenderSizeChanged(SizeChangedInfo)
RadElement.OnRenderSizeChanged(SizeChangedInfo)
RadElement.OnChildDesiredSizeChanged(RadElement)
RadElement.OnLayoutPropertyChanged(RadPropertyChangedEventArgs)
RadElement.ArrangeCore(RectangleF)
RadElement.MeasureCore(SizeF)
RadElement.ShouldArrangeChild(RadElement)
RadElement.ShouldMeasureChild(RadElement)
RadElement.MeasureChildren(SizeF)
RadElement.GetArrangeRect(RectangleF)
RadElement.CanExecuteLayoutOperation()
RadElement.CalcLayoutOffset(PointF)
RadElement.LockBounds()
RadElement.UnlockBounds()
RadElement.SetBoundsCore(Rectangle)
RadElement.IsInValidState(Boolean)
RadElement.GetScrollingOffset()
RadElement.Invalidate()
RadElement.Invalidate(Boolean)
RadElement.GetInvalidateBounds()
RadElement.NotifyInvalidate(RadElement)
RadElement.OnTransformationInvalidated()
RadElement.InvalidateTransformations()
RadElement.PerformLayoutTransformation(RadMatrix)
RadElement.PerformPaintTransformation(RadMatrix)
RadElement.IsInGetAsBitmap()
RadElement.PaintElement(IGraphics, Single, SizeF)
RadElement.PaintElementSkin(IGraphics)
RadElement.PaintOverride(IGraphics, Rectangle, Single, SizeF, Boolean)
RadElement.Paint(IGraphics, Rectangle, Single, SizeF, Boolean)
RadElement.PrePaintElement(IGraphics)
RadElement.PostPaintElement(IGraphics)
RadElement.PaintBackgroundShape(IGraphics)
RadElement.PostPaintChildren(IGraphics, Rectangle, Single, SizeF)
RadElement.PaintChildren(IGraphics, Rectangle, Single, SizeF, Boolean)
RadElement.PaintChild(RadElement, IGraphics, Rectangle, Single, SizeF, Boolean)
RadElement.PaintShadow(RadElement, IGraphics)
RadElement.PaintShadowCore(Graphics, Rectangle, RadItem)
RadElement.GetShadowRect(Rectangle, Int32)
RadElement.PaintFocusCues(IGraphics, Rectangle)
RadElement.GetAsBitmap(IGraphics, Brush, Single, SizeF)
RadElement.GetAsTransformedBitmap(IGraphics, Brush, Single, SizeF)
RadElement.GetAsTransformedBitmap(Brush, Single, SizeF)
RadElement.GetAsTransformedBitmap(Rectangle, Brush, Single, SizeF)
RadElement.GetAsBitmapEx(Color, Single, SizeF)
RadElement.GetAsBitmapEx(Brush, Single, SizeF)
RadElement.GetAsBitmap(Brush, Single, SizeF)
RadElement.IsInVisibleClipBounds(Rectangle)
RadElement.SetClipping(Graphics)
RadElement.GetClipRect()
RadElement.ShouldPaintChild(RadElement)
RadElement.GetFocusRect()
RadElement.GetCurrentShape()
RadElement.GetPaintRectangle(Single, Single, SizeF)
RadElement.GetPatchedRect(RectangleF, Single, SizeF)
RadElement.GetXPVisualStyle()
RadElement.GetVistaVisualStyle()
RadElement.InitializeSystemSkinPaint()
RadElement.UnitializeSystemSkinPaint()
RadElement.GetSystemSkinPaintBounds()
RadElement.OnUseSystemSkinChanged(EventArgs)
RadElement.ShouldPaintSystemSkin()
RadElement.ComposeShouldPaintSystemSkin()
RadElement.MapStyleProperty(RadProperty, String)
RadElement.GetStylablePropertiesFilter()
RadElement.ResetStyleSettings(Boolean)
RadElement.ResetStyleSettings(Boolean, RadProperty)
RadElement.ProcessBehaviors(RadPropertyChangedEventArgs)
RadElement.AddBehavior(PropertyChangeBehavior)
RadElement.GetBehaviors()
RadElement.RemoveBehavior(PropertyChangeBehavior)
RadElement.ClearBehaviors()
RadElement.AddRangeBehavior(PropertyChangeBehaviorCollection)
RadElement.SetThemeApplied(Boolean)
RadElement.OnStyleChanged(RadPropertyChangedEventArgs)
RadElement.SuspendThemeRefresh()
RadElement.ResumeThemeRefresh()
RadElement.UnapplyStyle()
RadElement.RemoveRangeBehaviors(PropertyChangeBehaviorCollection)
RadElement.RemoveBehaviors(PropertyChangeBehavior)
RadElement.RemoveRangeRoutedEventBehaviors(RoutedEventBehaviorCollection)
RadElement.GetThemeEffectiveType()
RadElement.GetChildrenByType(Type)
RadElement.GetChildrenByBaseType(Type)
RadElement.FindAncestorByThemeEffectiveType(Type)
RadElement.FindAncestor<T>()
RadElement.IsAncestorOf(RadElement)
RadElement.FindDescendant<T>()
RadElement.FindDescendant(Predicate<RadElement>)
RadElement.FindDescendant(Type)
RadElement.EnumDescendants(TreeTraversalMode)
RadElement.EnumDescendants(Predicate<RadElement>, TreeTraversalMode)
RadElement.EnumDescendants(Filter, TreeTraversalMode)
RadElement.GetDescendants(Predicate<RadElement>, TreeTraversalMode)
RadElement.GetDescendants(Filter, TreeTraversalMode)
RadElement.GetAncestors(Filter)
RadElement.GetAncestors(Predicate<RadElement>)
RadElement.RaiseRoutedEvent(RadElement, RoutedEventArgs)
RadElement.RaiseTunnelEvent(RadElement, RoutedEventArgs)
RadElement.RaiseBubbleEvent(RadElement, RoutedEventArgs)
RadElement.OnTunnelEvent(RadElement, RoutedEventArgs)
RadElement.OnBubbleEvent(RadElement, RoutedEventArgs)
RadElement.IsEventInProcess(RaisedRoutedEvent)
RadElement.RegisterRoutedEvent(String, Type)
RadElement.GetRegisterRoutedEvent(String, Type)
RadElement.GetRegisterRoutedEvent(String, String)
RadElement.GetRegisterRoutedEvent(String)
RadElement.OnChildrenChanged(RadElement, ItemsChangeOperation)
RadElement.GetChildren(ChildrenListOptions)
RadElement.SendToBack()
RadElement.BringToFront()
RadElement.GetChildAt(Int32)
RadElement.IsChildOf(RadElement)
RadElement.Focus()
RadElement.Focus(Boolean)
RadElement.SetFocusPropertySafe(Boolean)
RadElement.SetElementFocused(Boolean)
RadElement.KillFocus()
RadElement.SetFocus()
RadElement.OnCLREventsRise(RoutedEventArgs)
RadElement.OnMouseMove(MouseEventArgs)
RadElement.OnMouseHover(EventArgs)
RadElement.OnEnabledChanged(RadPropertyChangedEventArgs)
RadElement.OnParentEnabledChanged(RadPropertyChangedEventArgs)
RadElement.OnMouseDown(MouseEventArgs)
RadElement.OnMouseUp(MouseEventArgs)
RadElement.OnLostMouseCapture(MouseEventArgs)
RadElement.OnClick(EventArgs)
RadElement.OnDoubleClick(EventArgs)
RadElement.OnMouseEnter(EventArgs)
RadElement.OnMouseLeave(EventArgs)
RadElement.PerformClick()
RadElement.OnMouseWheel(MouseEventArgs)
RadElement.DoMouseWheel(MouseEventArgs)
RadElement.DoClick(EventArgs)
RadElement.DoDoubleClick(EventArgs)
RadElement.CallDoMouseWheel(MouseEventArgs)
RadElement.IsInputKey(InputKeyEventArgs)
RadElement.MouseEventArgsFromControl(MouseEventArgs)
RadElement.DoMouseDown(MouseEventArgs)
RadElement.DoMouseUp(MouseEventArgs)
RadElement.DoMouseMove(MouseEventArgs)
RadElement.ShowScreenTip(ScreenTipNeededEventArgs)
RadElement.HideScreenTip()
RadElement.DoMouseHover(EventArgs)
RadElement.OnShowScreenTip(ComponentInputBehavior)
RadElement.RaiseClick(EventArgs)
RadElement.RaiseDoubleClick(EventArgs)
RadElement.RaiseMouseWheel(MouseEventArgs)
RadElement.UpdateContainsMouse()
RadElement.UpdateContainsFocus(Boolean)
RadElement.DoMouseEnter(EventArgs)
RadElement.DoMouseLeave(EventArgs)
RadElement.CallDoMouseDown(MouseEventArgs)
RadElement.CallDoMouseUp(MouseEventArgs)
RadElement.CallDoMouseMove(MouseEventArgs)
RadElement.CallDoMouseHover(EventArgs)
RadElement.CallDoMouseEnter(EventArgs)
RadElement.CallDoMouseLeave(EventArgs)
RadElement.CallDoClick(EventArgs)
RadElement.CallDoDoubleClick(EventArgs)
RadElement.GetValue(RadProperty)
RadElement.AddStylePropertySetting(IPropertySetting)
RadElement.SetValueCore(RadPropertyValue, Object, Object, ValueSource)
RadElement.NotifyChildren(RadPropertyChangedEventArgs)
RadElement.OnBoundsChanged(RadPropertyChangedEventArgs)
RadElement.OnLocationChanged(RadPropertyChangedEventArgs)
RadElement.OnDisplayPropertyChanged(RadPropertyChangedEventArgs)
RadElement.OnPropertyChanged(RadPropertyChangedEventArgs)
RadElement.CanRaisePropertyChangeNotifications(RadPropertyValue)
RadElement.IsPropertyCancelable(RadPropertyMetadata)
RadElement.OnParentPropertyChanged(RadPropertyChangedEventArgs)
RadElement.ReplaceDefaultDescriptors(PropertyDescriptorCollection)
RadElement.ToString()
RadElement.DisposeManagedResources()
RadElement.PerformDispose(Boolean)
RadElement.DisposeChildren()
RadElement.ResetUseCompatibleTextRendering()
RadElement.ShouldSerializeUseCompatibleTextRendering()
RadElement.IStylableNode.GetThemeEffectiveType()
RadElement.IStylableNode.ApplySettings(PropertySettingGroup)
RadElement.GetStylableChildrenHierarchy()
RadElement.GetStylableChildren()
RadElement.ResetStyleVersion()
RadElement.GetClientRectangle(SizeF)
RadElement.GetBorderThickness(BorderPrimitive)
RadElement.DpiScaleChanged(SizeF)
RadElement.ElementState
RadElement.LayoutManager
RadElement.DesiredSize
RadElement.IsLayoutSuspended
RadElement.BoundingRectangle
RadElement.ControlBoundingRectangle
RadElement.BypassLayoutPolicies
RadElement.IsArrangeValid
RadElement.IsMeasureValid
RadElement.PreviousArrangeRect
RadElement.PreviousConstraint
RadElement.TreeLevel
RadElement.Transform
RadElement.TotalTransform
RadElement.ShouldPaintUsingParentShape
RadElement.UseSystemSkin
RadElement.CanHaveOwnStyle
RadElement.PropagateStyleToChildren
RadElement.ThemeEffectiveType
RadElement.ElementTree
RadElement.Children
RadElement.ChildrenHierarchy
RadElement.Parent
RadElement.RoutedEventBehaviors
RadElement.LayoutableChildrenCount
RadElement.ContainsFocus
RadElement.ShouldHandleMouseInput
RadElement.NotifyParentOnMouseInput
RadElement.IsAbleToRespondToMouseEvents
RadElement.AutoSize
RadElement.Bounds
RadElement.Location
RadElement.Size
RadElement.BorderThickness
RadElement.Padding
RadElement.Margin
RadElement.Alignment
RadElement.AutoSizeMode
RadElement.FitToSizeMode
RadElement.Enabled
RadElement.CanFocus
RadElement.IsFocused
RadElement.IsMouseOver
RadElement.IsMouseOverElement
RadElement.IsMouseDown
RadElement.InvalidateChildrenOnChildChanged
RadElement.ShouldPaint
RadElement.Visibility
RadElement.IsElementVisible
RadElement.Name
RadElement.Class
RadElement.ClipDrawing
RadElement.Shape
RadElement.MinSize
RadElement.MaxSize
RadElement.ZIndex
RadElement.RightToLeft
RadElement.UseCompatibleTextRendering
RadElement.BackgroundShape
RadElement.BackgroundShapePaintMode
RadElement.ContainsMouse
RadElement.Capture
RadElement.ScaleTransform
RadElement.AngleTransform
RadElement.PositionOffset
RadElement.SerializeProperties
RadElement.SerializeElement
RadElement.SerializeChildren
RadElement.RenderingMaxFramerate
RadElement.IsThemeApplied
RadElement.ShouldApplyTheme
RadElement.UseCenteredAngleTransform
RadElement.Tag
RadElement.StretchHorizontally
RadElement.StretchVertically
RadElement.ClickMode
RadElement.DoubleClickEnabled
RadElement.CaptureOnMouseDown
RadElement.IsFocusable
RadElement.IsItemHovered
RadElement.IStylableNode.Parent
RadElement.IStylableNode.ChildrenHierarchy
RadElement.IStylableNode.Children
RadElement.IStylableNode.Class
RadElement.Style
RadElement.ToolTipText
RadElement.AutoToolTip
RadElement.ScreenTip
RadElement.AutoNumberKeyTip
RadElement.MeasureIsDirty
RadElement.ArrangeIsDirty
RadElement.NeverMeasured
RadElement.NeverArranged
RadElement.ArrangeInProgress
RadElement.MeasureInProgress
RadElement.ShouldPaintChildren
RadElement.InvalidateMeasureOnRemove
RadElement.HideFromElementHierarchyEditor
RadElement.DpiScaleFactor
RadElement.LayoutUpdated
RadElement.ElementPainted
RadElement.MouseHover
RadElement.MouseMove
RadElement.MouseDown
RadElement.MouseUp
RadElement.Click
RadElement.DoubleClick
RadElement.MouseEnter
RadElement.MouseWheel
RadElement.EnabledChanged
RadElement.MouseLeave
RadElement.ChildrenChanged
RadElement.LostMouseCapture
RadObject.BindingContextProperty
RadObject.RadType
RadObject.ClearPropertyStore()
RadObject.SuspendPropertyNotifications()
RadObject.ResumePropertyNotifications()
RadObject.GetPropertyValue(RadProperty)
RadObject.SetDefaultValueOverride(RadProperty, Object)
RadObject.SetValueAtDesignTime(RadProperty, Object)
RadObject.SetValue(RadProperty, Object)
RadObject.ResetValue(RadProperty)
RadObject.ResetLocalValue(RadProperty)
RadObject.ResetValue(RadProperty, ValueResetFlags)
RadObject.UpdateValue(RadProperty)
RadObject.GetValueSource(RadProperty)
RadObject.GetRegisteredRadProperty(String)
RadObject.UpdateValueCore(RadPropertyValue)
RadObject.ResetValueCore(RadPropertyValue, ValueResetFlags)
RadObject.GetDefaultValue(RadPropertyValue, Object)
RadObject.CoerceValue(RadPropertyValue, Object)
RadObject.ShouldSerializeProperty(PropertyDescriptor)
RadObject.ShouldSerializeProperty(RadProperty)
RadObject.BindProperty(RadProperty, RadObject, RadProperty, PropertyBindingOptions)
RadObject.UnbindProperty(RadProperty)
RadObject.RemoveStylePropertySetting(IPropertySetting)
RadObject.RemoveStylePropertySetting(RadProperty)
RadObject.GetInheritedValue(RadProperty)
RadObject.OnPropertyChanging(RadPropertyChangingEventArgs)
RadObject.OnNotifyPropertyChanged(String)
RadObject.OnNotifyPropertyChanged(PropertyChangedEventArgs)
RadObject.OnShouldSerializeProperty(ShouldSerializePropertyEventArgs)
RadObject.PropertyValues
RadObject.IsDesignMode
RadObject.PropertyFilter
RadObject.RadObjectType
RadObject.BindingContext
RadObject.PropertyChanged
RadObject.RadPropertyChanged
RadObject.RadPropertyChanging
RadObject.ShouldSerializePropertyHandler
DisposableObject.GetBitState(Int64)
DisposableObject.SetBitState(Int64, Boolean)
DisposableObject.OnBitStateChanged(Int64, Boolean, Boolean)
DisposableObject.Dispose()
DisposableObject.Dispose(Boolean)
DisposableObject.DisposeUnmanagedResources()
DisposableObject.BitState
DisposableObject.Events
DisposableObject.IsDisposing
DisposableObject.IsDisposed
DisposableObject.Disposed
DisposableObject.Disposing
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Telerik.WinControls.Layout
Assembly: Telerik.WinControls.dll

Syntax

public class WrapLayoutPanel : LayoutPanel, IDisposable, INotifyPropertyChanged, ICustomTypeDescriptor, ISupportSystemSkin, IStylableNode
Remarks

Provides advanced flow layout capabilities where elements are positioned sequentially and automatically wrap to new rows or columns when space is exceeded. Supports both horizontal and vertical orientations with uniform sizing through ItemWidth and ItemHeight properties, element stretching, and RTL layout support.

Constructors

WrapLayoutPanel()

Declaration
public WrapLayoutPanel()

Fields

ItemHeightProperty

Declaration
public static readonly RadProperty ItemHeightProperty
Field Value
RadProperty

ItemWidthProperty

Declaration
public static readonly RadProperty ItemWidthProperty
Field Value
RadProperty

OrientationProperty

Declaration
public static readonly RadProperty OrientationProperty
Field Value
RadProperty

Properties

ItemHeight

Gets or sets the uniform height that should be applied to all child elements.

Declaration
public float ItemHeight { get; set; }
Property Value
System.Single

The height in pixels for all child elements, or NaN to use each element's desired height. The default value is NaN.

Remarks

When ItemHeight is set to a specific value, all child elements will be constrained to that height during layout, creating a uniform appearance. If set to NaN (default), each element will use its natural desired height.

This property is particularly useful for creating grid-like layouts where visual consistency is important, such as icon grids, thumbnail galleries, or uniform button layouts.

Changes to this property trigger layout invalidation and re-measurement of the panel and all its child elements.

ItemWidth

Gets or sets the uniform width that should be applied to all child elements.

Declaration
public float ItemWidth { get; set; }
Property Value
System.Single

The width in pixels for all child elements, or NaN to use each element's desired width. The default value is NaN.

Remarks

When ItemWidth is set to a specific value, all child elements will be constrained to that width during layout, creating a uniform appearance. If set to NaN (default), each element will use its natural desired width.

This property works in conjunction with ItemHeight to create consistently sized elements throughout the layout. It's especially useful for creating structured layouts like toolbars, navigation menus, or card-based interfaces.

Changes to this property trigger layout invalidation and re-measurement of the panel and all its child elements.

Orientation

Gets or sets the orientation that determines the primary flow direction of child elements.

Declaration
public Orientation Orientation { get; set; }
Property Value
System.Windows.Forms.Orientation

An System.Windows.Forms.Orientation value that specifies the layout direction. The default value is System.Windows.Forms.Orientation.Horizontal.

Remarks

The orientation determines how elements flow within the panel:

  • System.Windows.Forms.Orientation.Horizontal: Elements flow left-to-right (or right-to-left in RTL mode) and wrap to new rows when space is exceeded
  • System.Windows.Forms.Orientation.Vertical: Elements flow top-to-bottom and wrap to new columns when space is exceeded

Changing the orientation affects how ItemWidth and ItemHeight are applied, how wrapping calculations are performed, and how the StretchItems behavior distributes available space among elements.

Setting this property triggers a complete layout recalculation for optimal performance.

StretchItems

Gets or sets a value indicating whether child elements should be stretched to fill available space within each wrapped line.

Declaration
public bool StretchItems { get; set; }
Property Value
System.Boolean

true if child elements should be stretched to fill the available space; otherwise, false. The default value is false.

Remarks

When StretchItems is enabled, the layout panel calculates the optimal size for elements within each wrapped line to ensure they collectively fill the available space. This creates a justified layout effect where elements are evenly distributed.

The stretching algorithm respects each element's desired size and only stretches elements that are smaller than the calculated uniform size, preventing smaller elements from being compressed below their natural size.

Setting this property invalidates the layout and triggers a re-measurement of all child elements.

Methods

ArrangeOverride(SizeF)

Positions and sizes all child elements within the final layout area, implementing the wrapping and alignment behavior based on the current panel configuration.

Declaration
protected override SizeF ArrangeOverride(SizeF finalSize)
Parameters
System.Drawing.SizeF finalSize

The final area within the parent that the panel should use to arrange itself and its children.

Returns
System.Drawing.SizeF

The actual size used by the panel, which is typically the same as finalSize.

Overrides
RadElement.ArrangeOverride(SizeF)
Remarks

This method performs the final layout arrangement by:

  1. Determining line breaks based on available space and element sizes
  2. Applying uniform sizing constraints from ItemWidth and ItemHeight
  3. Positioning elements within each line according to the current Orientation
  4. Implementing StretchItems behavior when enabled
  5. Handling right-to-left layout adjustments for proper content flow

The arrangement process ensures that elements are optimally distributed within each wrapped line while maintaining visual consistency and respecting the panel's sizing and alignment settings.

InitializeFields()

Declaration
protected override void InitializeFields()
Overrides
RadElement.InitializeFields()

MeasureOverride(SizeF)

Measures the size required to accommodate all child elements within the specified constraints, accounting for wrapping behavior and uniform sizing settings.

Declaration
protected override SizeF MeasureOverride(SizeF constraint)
Parameters
System.Drawing.SizeF constraint

The maximum available size that the panel can use.

Returns
System.Drawing.SizeF

A System.Drawing.SizeF representing the minimum size needed to display all child elements with proper wrapping and spacing.

Overrides
RadElement.MeasureOverride(SizeF)
Remarks

This method implements the core measurement logic for the wrap layout:

  1. Measures each child element using available space constraints
  2. Simulates the wrapping behavior to determine line breaks
  3. Calculates total space requirements including wrapped lines
  4. Applies uniform sizing constraints from ItemWidth and ItemHeight

The measurement process respects the current Orientation setting and adjusts calculations accordingly. Elements that exceed the constraint in the primary direction cause line wrapping, while the secondary direction accumulates the total space needed.

Extension Methods

CommonExtensions.ClearIfNoBindingAndSet(RadObject, RadProperty)
DispatcherExtensions.CheckAccess(RadObject)
CommonExtensions.SetIfDifferent(RadObject, RadProperty, Object)
CommonExtensions.ClearIfSet(RadObject, RadProperty)
CommonExtensions.IsLocalValueSet(RadObject, RadProperty)
DispatcherExtensions.CheckAccess(RadObject)
DispatcherExtensions.CheckAccess(RadObject)
DispatcherExtensions.CheckAccess(RadObject)
SvgExtentions.Traverse<T>(T, Func<T, IEnumerable<T>>)
SvgExtentions.TraverseDepthFirst<T>(T, Func<T, IEnumerable<T>>)
Getting Started
  • Install Now
  • Demos
  • Step-by-Step Tutorial
  • Sample Applications
  • SDK Samples
  • Visual Studio Extensions
Support Resources
  • Code Library
  • Knowledge Base
  • Videos
Community
  • Forums
  • Blogs
  • Feedback Portal
  • Document Processing Feedback Portal

Copyright © 2018 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.

Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.