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 OverflowPrimitive

Represents a primitive element that renders directional overflow indicators, typically used to show that content extends beyond the visible area and can be scrolled or expanded in a specific direction.

Inheritance
System.Object
DisposableObject
RadObject
RadElement
VisualElement
BasePrimitive
OverflowPrimitive
Inherited Members
BasePrimitive.BoxCategory
BasePrimitive.PaintElement(IGraphics, Single, SizeF)
BasePrimitive.IsEmpty
VisualElement.DefaultSizeProperty
VisualElement.ForeColorProperty
VisualElement.BackColorProperty
VisualElement.FontProperty
VisualElement.SmoothingModeProperty
VisualElement.OpacityProperty
VisualElement.CustomFontProperty
VisualElement.CustomFontSizeProperty
VisualElement.CustomFontStyleProperty
VisualElement.OnFontChanged(EventArgs)
VisualElement.OnPropertyChanging(RadPropertyChangingEventArgs)
VisualElement.PaintChildren(IGraphics, Rectangle, Single, SizeF, Boolean)
VisualElement.PrePaintElement(IGraphics)
VisualElement.PostPaintElement(IGraphics)
VisualElement.GetScaledFont(Single)
VisualElement.GetScaledFont(Single, Font)
VisualElement.DefaultSize
VisualElement.ForeColor
VisualElement.BackColor
VisualElement.Font
VisualElement.CustomFont
VisualElement.CustomFontSize
VisualElement.CustomFontStyle
VisualElement.SmoothingMode
VisualElement.Opacity
VisualElement.FontChanged
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.ArrangeOverride(SizeF)
RadElement.MeasureOverride(SizeF)
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.PaintElementSkin(IGraphics)
RadElement.PaintOverride(IGraphics, Rectangle, Single, SizeF, Boolean)
RadElement.Paint(IGraphics, Rectangle, Single, SizeF, Boolean)
RadElement.PaintBackgroundShape(IGraphics)
RadElement.PostPaintChildren(IGraphics, Rectangle, Single, SizeF)
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.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.VsbVisible
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.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.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.Primitives
Assembly: Telerik.WinControls.dll

Syntax

public class OverflowPrimitive : BasePrimitive, IDisposable, INotifyPropertyChanged, ICustomTypeDescriptor, ISupportSystemSkin, IStylableNode, IPrimitive
Remarks

The OverflowPrimitive class provides specialized rendering capabilities for displaying directional arrow indicators that inform users about hidden or overflow content. These indicators are commonly used in toolbars, menus, tab strips, and other container controls where not all content may be visible due to space constraints.

The primitive supports four directional orientations (Up, Down, Left, Right) and renders styled arrow indicators with shadow effects for enhanced visual depth. Each direction has its own specialized rendering implementation that creates appropriate visual cues for the direction of overflow content.

Key features include directional arrow rendering with anti-aliasing, configurable shadow colors for depth effects, optional arrow drawing control, automatic sizing based on direction, and integration with the RadProperty system for consistent theming across the framework.

Constructors

OverflowPrimitive(ArrowDirection)

Initializes a new instance of the OverflowPrimitive class with the specified arrow direction.

Declaration
public OverflowPrimitive(ArrowDirection arrowDirection)
Parameters
ArrowDirection arrowDirection

The direction of the overflow arrow indicator.

Remarks

This constructor sets up the overflow primitive with the specified direction and automatically determines the appropriate minimum size based on the arrow orientation:

  • Left/Right arrows use MinHorizontalSize (4x8 pixels)
  • Up/Down arrows use MinVerticalSize (8x10 pixels)

The constructor ensures that the primitive has an appropriate size for the specified direction, providing adequate space for rendering the arrow indicator while maintaining good usability.

Fields

ArrowDirectionProperty

Identifies the Direction dependency property.

Declaration
public static readonly RadProperty ArrowDirectionProperty
Field Value
RadProperty

Remarks

This property determines the direction of the overflow arrow indicator, affecting both the visual appearance and the automatic sizing behavior of the primitive.

DrawArrowProperty

Identifies the DrawArrow dependency property.

Declaration
public static readonly RadProperty DrawArrowProperty
Field Value
RadProperty

Remarks

This property provides control over whether the arrow indicator is actually rendered, allowing the primitive to be temporarily hidden while maintaining its layout space.

MinHorizontalSize

Defines the minimum size for horizontal overflow arrows (Left and Right directions).

Declaration
public static readonly Size MinHorizontalSize
Field Value
System.Drawing.Size

Remarks

This size ensures adequate space for rendering horizontal arrow indicators while maintaining good usability for mouse and touch interactions. The 4x8 pixel size provides sufficient visual presence without consuming excessive layout space.

MinVerticalSize

Defines the minimum size for vertical overflow arrows (Up and Down directions).

Declaration
public static readonly Size MinVerticalSize
Field Value
System.Drawing.Size

Remarks

This size ensures adequate space for rendering vertical arrow indicators while maintaining good usability for mouse and touch interactions. The 8x10 pixel size provides sufficient visual presence without consuming excessive layout space.

ShadowColorProperty

Identifies the ShadowColor dependency property.

Declaration
public static readonly RadProperty ShadowColorProperty
Field Value
RadProperty

Remarks

This property controls the color used for shadow effects in the overflow arrow, enhancing the visual depth and making the indicator more prominent against various backgrounds.

Properties

Direction

Gets or sets the direction of the overflow arrow indicator.

Declaration
[RadPropertyDefaultValue("ArrowDirection", typeof(OverflowPrimitive))]
public ArrowDirection Direction { get; set; }
Property Value
ArrowDirection

An ArrowDirection enumeration value specifying the direction of the overflow indicator. The default value is Down.

Remarks

This property determines both the visual appearance of the arrow and the automatic sizing behavior:

  • Left: Points left, uses horizontal sizing
  • Right: Points right, uses horizontal sizing
  • Up: Points up, uses vertical sizing
  • Down: Points down, uses vertical sizing

Changing this property automatically adjusts the primitive's size to match the appropriate minimum dimensions for the new direction and triggers a layout invalidation.

DrawArrow

Gets or sets a value indicating whether the overflow arrow should be rendered.

Declaration
[RadPropertyDefaultValue("DrawArrow", typeof(OverflowPrimitive))]
public bool DrawArrow { get; set; }
Property Value
System.Boolean

true to render the arrow indicator; false to hide it. The default value is true.

Remarks

This property allows the overflow indicator to be temporarily hidden while maintaining its layout space and other properties. When set to false, the PaintPrimitive(IGraphics, Single, SizeF) method returns immediately without rendering any visual content.

This is useful in scenarios where overflow indicators need to be conditionally shown based on content state, available space, or user preferences without requiring layout changes.

ShadowColor

Gets or sets the color used for shadow effects in the overflow arrow.

Declaration
[RadPropertyDefaultValue("ShadowColor", typeof(OverflowPrimitive))]
public Color ShadowColor { get; set; }
Property Value
System.Drawing.Color

A System.Drawing.Color value representing the shadow color. The default value is System.Drawing.Color.White.

Remarks

This color is used to render shadow elements that enhance the visual depth of the overflow arrow, making it more prominent and easier to see against various background colors. The shadow effect helps distinguish the arrow from the surrounding content.

For best visual results, this color should provide appropriate contrast with both the main arrow color (ForeColor) and the containing element's background.

StretchHorizontally

Gets or sets a value indicating whether the primitive should stretch horizontally to fill available space.

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

false by default. Overflow indicators typically maintain fixed width for consistent appearance.

Overrides
RadElement.StretchHorizontally
Remarks

Overflow arrows are generally designed to have a fixed size to ensure consistent visual appearance and proper user interaction. Setting this to true may cause the arrow to appear distorted.

StretchVertically

Gets or sets a value indicating whether the primitive should stretch vertically to fill available space.

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

false by default. Overflow indicators typically maintain fixed height for consistent appearance.

Overrides
RadElement.StretchVertically
Remarks

Overflow arrows are generally designed to have a fixed size to ensure consistent visual appearance and proper user interaction. Setting this to true may cause the arrow to appear distorted.

Methods

InitializeFields()

Initializes the default field values for the overflow primitive.

Declaration
protected override void InitializeFields()
Overrides
BasePrimitive.InitializeFields()
Remarks

This method configures the primitive to have fixed sizing by default, as overflow indicators typically have predetermined dimensions and should not stretch to fill available space. The primitive maintains its intrinsic size for consistent visual appearance.

OnPropertyChanged(RadPropertyChangedEventArgs)

Handles property changes for the overflow primitive, specifically responding to direction changes.

Declaration
protected override void OnPropertyChanged(RadPropertyChangedEventArgs e)
Parameters
RadPropertyChangedEventArgs e

A RadPropertyChangedEventArgs that contains the event data.

Overrides
VisualElement.OnPropertyChanged(RadPropertyChangedEventArgs)
Remarks

This method responds to changes in the ArrowDirection property by automatically adjusting the primitive's size to match the appropriate minimum dimensions for the new direction:

  • Left/Right directions: Sets size to MinHorizontalSize (4x8 pixels)
  • Up/Down directions: Sets size to MinVerticalSize (8x10 pixels)

The sizing behavior respects the AutoSize property:

  • When AutoSize is enabled: Updates the MinSize property
  • When AutoSize is disabled: Updates the Size property directly

This automatic sizing ensures that the arrow indicator always has adequate space for proper rendering and user interaction regardless of the direction change.

PaintPrimitive(IGraphics, Single, SizeF)

Renders the overflow arrow indicator using the specified graphics context, applying rotation and scaling transformations.

Declaration
public override void PaintPrimitive(IGraphics graphics, float angle, SizeF scale)
Parameters
IGraphics graphics

The IGraphics interface used for drawing the overflow arrow.

System.Single angle

The rotation angle in degrees to apply to the rendered content.

System.Drawing.SizeF scale

The scaling factor to apply to the rendered content.

Overrides
BasePrimitive.PaintPrimitive(IGraphics, Single, SizeF)
Remarks

This method renders directional arrow indicators with anti-aliased graphics for smooth appearance. Each direction has its own specialized rendering implementation:

Left Arrow: Renders a left-pointing triangle with background accent lines

Right Arrow: Renders a right-pointing triangle with foreground accent line

Up Arrow: Renders an up-pointing triangle with background accent lines

Down Arrow: Renders a down-pointing double-triangle with shadow effect using both ShadowColor and ForeColor

The method respects the DrawArrow property and returns immediately without rendering if the arrow is disabled. Anti-aliasing is enabled for smooth triangle edges and restored after rendering.

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.