New to Telerik UI for WinFormsStart a free 30-day trial

Represents the core rating element that provides the visual and interactive functionality for rating controls. This element manages a collection of rating visual items (typically stars), handles user interactions for value selection, supports different selection modes and orientations, and provides comprehensive tooltip and hover feedback systems. It serves as the main implementation behind the RadRating control wrapper.

Definition

Namespace:Telerik.WinControls.UI

Assembly:Telerik.WinControls.UI.dll

Syntax:

C#
public class RadRatingElement : StackLayoutElement, INotifyPropertyChanged, ICustomTypeDescriptor, ISupportSystemSkin, IBindableComponent, IComponent, IDisposable, ISupportDrag, ISupportDrop, IShortcutProvider, IStylableElement, IStylableNode, IPrimitiveElement, IShapedElement, IFillElement, IBorderElement, IBoxStyle, IBoxElement, IDrawFillElement, IImageElement, ITextPrimitive, ITextProvider

Inheritance: objectDisposableObjectRadObjectRadElementVisualElementRadComponentElementRadItemUIItemBaseLightVisualElementStackLayoutElementRadRatingElement...

Implements: IBindableComponentIBorderElementIBoxElementIBoxStyleIComponentICustomTypeDescriptorIDisposableIDrawFillElementIFillElementIImageElementINotifyPropertyChangedIPrimitiveElementIShapedElementIShortcutProviderIStylableElementIStylableNodeISupportDragISupportDropISupportSystemSkinITextPrimitiveITextProvider...

Inherited Members StackLayoutElement.OrientationPropertyStackLayoutElement.ElementSpacingPropertyStackLayoutElement.RightToLeftModePropertyStackLayoutElement.ArrangeOverride(SizeF)StackLayoutElement.ArrangeHorizontally(SizeF)StackLayoutElement.ArrangeItemsHorizontaly(RectangleF, SizeF, float, float)StackLayoutElement.ArrangeVertically(SizeF)StackLayoutElement.ArrangeElement(RadElement, RectangleF, RectangleF, SizeF)StackLayoutElement.AlignRect(RadElement, RectangleF)StackLayoutElement.OrientationStackLayoutElement.ElementSpacingStackLayoutElement.RightToLeftModeStackLayoutElement.FitInAvailableSizeStackLayoutElement.ComparerLightVisualElement.BackgroundImagePropertyLightVisualElement.BackgroundImageLayoutPropertyLightVisualElement.BackColor2PropertyLightVisualElement.BackColor3PropertyLightVisualElement.BackColor4PropertyLightVisualElement.BorderBottomColorPropertyLightVisualElement.BorderBottomShadowColorPropertyLightVisualElement.BorderBottomWidthPropertyLightVisualElement.BorderBoxStylePropertyLightVisualElement.BorderColorPropertyLightVisualElement.BorderColor2PropertyLightVisualElement.BorderColor3PropertyLightVisualElement.BorderColor4PropertyLightVisualElement.BorderDashStylePropertyLightVisualElement.BorderDashPatternPropertyLightVisualElement.BorderDrawModePropertyLightVisualElement.BorderGradientAnglePropertyLightVisualElement.BorderGradientStylePropertyLightVisualElement.BorderInnerColorPropertyLightVisualElement.BorderInnerColor2PropertyLightVisualElement.BorderInnerColor3PropertyLightVisualElement.BorderInnerColor4PropertyLightVisualElement.BorderLeftColorPropertyLightVisualElement.BorderLeftShadowColorPropertyLightVisualElement.BorderLeftWidthPropertyLightVisualElement.BorderRightColorPropertyLightVisualElement.BorderRightShadowColorPropertyLightVisualElement.BorderRightWidthPropertyLightVisualElement.BorderTopColorPropertyLightVisualElement.BorderTopShadowColorPropertyLightVisualElement.BorderTopWidthPropertyLightVisualElement.BorderWidthPropertyLightVisualElement.ClipTextPropertyLightVisualElement.DisabledTextRenderingHintPropertyLightVisualElement.DrawBorderPropertyLightVisualElement.DrawFillPropertyLightVisualElement.DrawTextPropertyLightVisualElement.DrawBackgroundImagePropertyLightVisualElement.DrawImagePropertyLightVisualElement.EnableImageTransparencyPropertyLightVisualElement.GradientAnglePropertyLightVisualElement.GradientPercentagePropertyLightVisualElement.GradientPercentage2PropertyLightVisualElement.GradientStylePropertyLightVisualElement.HorizontalLineColorPropertyLightVisualElement.HorizontalLineWidthPropertyLightVisualElement.ImageAlignmentPropertyLightVisualElement.ImageIndexPropertyLightVisualElement.ImageKeyPropertyLightVisualElement.ImageLayoutPropertyLightVisualElement.ImageOpacityPropertyLightVisualElement.ImagePropertyLightVisualElement.ImageTransparentColorPropertyLightVisualElement.NumberOfColorsPropertyLightVisualElement.ShowHorizontalLinePropertyLightVisualElement.SvgImagePropertyLightVisualElement.TextAlignmentPropertyLightVisualElement.TextImageRelationPropertyLightVisualElement.TextWrapPropertyLightVisualElement.TextRenderingHintPropertyLightVisualElement.GetBorderThickness(LightVisualElement, bool)LightVisualElement.ShouldSerializeProperty(PropertyDescriptor)LightVisualElement.GetImageDrawTypeLocalValue()LightVisualElement.MapStyleProperty(RadProperty, string)LightVisualElement.GetStylablePropertiesFilter()LightVisualElement.GetPaintingBorderWidth()LightVisualElement.OnBitStateChanged(long, bool, bool)LightVisualElement.DisposeManagedResources()LightVisualElement.GetAsBitmapEx(Color, float, SizeF)LightVisualElement.GetClipRect()LightVisualElement.PaintElement(IGraphics, float, SizeF)LightVisualElement.PaintText(IGraphics)LightVisualElement.PaintTextCore(IGraphics)LightVisualElement.DrawHorizontalLineWithoutText(IGraphics)LightVisualElement.DrawHorizontalLine(IGraphics)LightVisualElement.PaintImage(IGraphics)LightVisualElement.PaintSvgImage(IGraphics)LightVisualElement.PaintBackgroundImage(IGraphics)LightVisualElement.PaintContent(IGraphics)LightVisualElement.AnimateImage(Image, bool)LightVisualElement.ClipImage(Image, Rectangle, Size)LightVisualElement.CalculateDesiredSize(SizeF, SizeF, SizeF)LightVisualElement.MeasureElements(SizeF, SizeF, Padding)LightVisualElement.ArrangeElement(RadElement, SizeF)LightVisualElement.GetClientOffset(bool)LightVisualElement.GetBorderThickness(bool)LightVisualElement.GetClientRectangle(bool, SizeF)LightVisualElement.GetClientRectangle(SizeF)LightVisualElement.GetTextAlignment(ContentAlignment)LightVisualElement.GetTextAlignment()LightVisualElement.OnLoaded()LightVisualElement.OnTunnelEvent(RadElement, RoutedEventArgs)LightVisualElement.ToggleTextPrimitive(RadProperty)LightVisualElement.OnAnimatedImageFrameChanged()LightVisualElement.GetFaceRectangle()LightVisualElement.CreateTextParams()LightVisualElement.PaintPrimitive(IGraphics, float, SizeF, TextParams)LightVisualElement.PaintPrimitive(IGraphics, TextParams)LightVisualElement.MeasureOverride(SizeF, TextParams)LightVisualElement.OnMouseMove(object, MouseEventArgs)LightVisualElement.GetTextSize(SizeF, TextParams)LightVisualElement.GetTextSize(TextParams)LightVisualElement.TextRenderingHintLightVisualElement.DisabledTextRenderingHintLightVisualElement.ShouldPaintLightVisualElement.CanFocusLightVisualElement.DrawTextLightVisualElement.DrawFillLightVisualElement.DrawBorderLightVisualElement.DrawBackgroundImageLightVisualElement.DrawImageLightVisualElement.BorderBoxStyleLightVisualElement.BorderDrawModeLightVisualElement.BorderWidthLightVisualElement.BorderLeftWidthLightVisualElement.BorderTopWidthLightVisualElement.BorderRightWidthLightVisualElement.BorderBottomWidthLightVisualElement.BorderGradientAngleLightVisualElement.BorderGradientStyleLightVisualElement.BorderColorLightVisualElement.BorderColor2LightVisualElement.BorderColor3LightVisualElement.BorderColor4LightVisualElement.BorderInnerColorLightVisualElement.BorderInnerColor2LightVisualElement.BorderInnerColor3LightVisualElement.BorderInnerColor4LightVisualElement.BackColor2LightVisualElement.BackColor3LightVisualElement.BackColor4LightVisualElement.NumberOfColorsLightVisualElement.GradientStyleLightVisualElement.GradientAngleLightVisualElement.GradientPercentageLightVisualElement.GradientPercentage2LightVisualElement.BackgroundImageLightVisualElement.ImageLightVisualElement.ImageIndexLightVisualElement.ImageKeyLightVisualElement.ImageLayoutLightVisualElement.BackgroundImageLayoutLightVisualElement.ImageOpacityLightVisualElement.DisabledImageOpacityLightVisualElement.TextAlignmentLightVisualElement.ImageAlignmentLightVisualElement.TextImageRelationLightVisualElement.ShowHorizontalLineLightVisualElement.HorizontalLineColorLightVisualElement.HorizontalLineWidthLightVisualElement.DisableHTMLRenderingLightVisualElement.BorderLeftColorLightVisualElement.BorderTopColorLightVisualElement.BorderRightColorLightVisualElement.BorderBottomColorLightVisualElement.BorderLeftShadowColorLightVisualElement.BorderTopShadowColorLightVisualElement.BorderRightShadowColorLightVisualElement.BorderBottomShadowColorLightVisualElement.ClipTextLightVisualElement.LayoutLightVisualElement.ImageTransparentColorLightVisualElement.BorderDashStyleLightVisualElement.BorderDashPatternLightVisualElement.EnableImageTransparencyLightVisualElement.SvgImageLightVisualElement.ImageDrawTypeLightVisualElement.AutoEllipsisLightVisualElement.UseMnemonicLightVisualElement.TextWrapLightVisualElement.ShowKeyboardCuesLightVisualElement.MeasureTrailingSpacesLightVisualElement.TextParamsUIItemBase.PaintFill(IGraphics, float, SizeF)UIItemBase.GetFillPaintRect(float, SizeF)UIItemBase.PaintFill(IGraphics, float, SizeF, RectangleF)UIItemBase.PaintBorder(IGraphics, float, SizeF)UIItemBase.PaintBorder(IGraphics, float, SizeF, RectangleF)UIItemBase.OnBoundsChanged(RadPropertyChangedEventArgs)UIItemBase.GetBorderPaintRect(float, SizeF)UIItemBase.ShouldUsePaintBuffer()RadItem.KeyDownEventRadItem.KeyPressEventRadItem.KeyUpEventRadItem.FocusCommandRadItem.ActionCommandRadItem.UseDefaultDisabledPaintPropertyRadItem.TextPropertyRadItem.TextOrientationPropertyRadItem.FlipTextPropertyRadItem.IsAddNewItemPropertyRadItem.ToolTipTextPropertyRadItem.EnableElementShadowPropertyRadItem.ShadowDepthPropertyRadItem.ShadowColorPropertyRadItem.IsPaintingRippleRadItem.EnableRippleAnimationPropertyRadItem.RippleAnimationColorPropertyRadItem.EnableFocusBorderPropertyRadItem.FocusBorderColorPropertyRadItem.FocusBorderWidthPropertyRadItem.EnableFocusBorderAnimationPropertyRadItem.EnableHighlightPropertyRadItem.HighlightColorPropertyRadItem.EnableBorderHighlightPropertyRadItem.BorderHighlightColorPropertyRadItem.BorderHighlightThicknessPropertyRadItem.VisualStatePropertyRadItem.SetOwnerCollection(RadItemOwnerCollection)RadItem.Select()RadItem.OnSelect()RadItem.Deselect()RadItem.OnDeselect()RadItem.DoKeyDown(KeyEventArgs)RadItem.DoKeyPress(KeyPressEventArgs)RadItem.DoKeyUp(KeyEventArgs)RadItem.OnKeyDown(KeyEventArgs)RadItem.OnKeyPress(KeyPressEventArgs)RadItem.OnKeyUp(KeyEventArgs)RadItem.RaiseBubbleEvent(RadElement, RoutedEventArgs)RadItem.OnPropertyChanging(RadPropertyChangingEventArgs)RadItem.OnEnabledChanged(RadPropertyChangedEventArgs)RadItem.OnTextChanging(TextChangingEventArgs)RadItem.OnTextChanged(EventArgs)RadItem.OnTextOrientationChanged(EventArgs)RadItem.OnFlipTextChanged(EventArgs)RadItem.PaintOverride(IGraphics, Rectangle, float, SizeF, bool)RadItem.StartRippleAnimation(MouseEventArgs)RadItem.UpdateFocusBorder(bool)RadItem.ContainsText()RadItem.ProcessDialogKey(Keys)RadItem.ProcessCmdKey(ref Message, Keys)RadItem.RaiseKeyDown(KeyEventArgs)RadItem.RaiseKeyPress(KeyPressEventArgs)RadItem.RaiseKeyUp(KeyEventArgs)RadItem.ReplaceDefaultDescriptors(PropertyDescriptorCollection)RadItem.CallOnGesture(GestureEventArgs)RadItem.OnGesture(GestureEventArgs)RadItem.OnTwoFingerTapGesture(GestureEventArgs)RadItem.OnPressAndTapGesture(PressAndTapGestureEventArgs)RadItem.OnPanGesture(PanGestureEventArgs)RadItem.OnRotateGesture(RotateGestureEventArgs)RadItem.OnZoomGesture(ZoomGestureEventArgs)RadItem.CanDragCore(Point)RadItem.GetDragContextCore()RadItem.GetDragHintCore()RadItem.ProcessDragDrop(Point, ISupportDrag)RadItem.ProcessDragOver(Point, ISupportDrag)RadItem.ProcessDragEnter(Point, ISupportDrag)RadItem.ProcessDragLeave(Point, ISupportDrag)RadItem.UpdateOnShortcutsChanged()RadItem.CanHandleShortcut(ShortcutEventArgs)RadItem.IsOnActiveForm(Control, bool)RadItem.SetThemeValueOverride(RadProperty, object, string)RadItem.SetThemeValueOverride(RadProperty, object, string, string)RadItem.SetThemeValueOverride(RadProperty, object, string, Type)RadItem.ResetThemeValueOverride(RadProperty)RadItem.ResetThemeValueOverride(RadProperty, string)RadItem.ResetThemeValueOverrides()RadItem.GetAvailableVisualStates()RadItem.ShouldFallbackToDefaultTheme()RadItem.UseDefaultDisabledPaintRadItem.TextOrientationRadItem.FlipTextRadItem.CanHaveOwnStyleRadItem.TextRadItem.SelectableRadItem.DefaultAutoToolTipRadItem.ShouldHandleMouseInputRadItem.KeyTipRadItem.ParentItemRadItem.ShortcutsHandlerRadItem.EnableElementShadowRadItem.ShadowDepthRadItem.ShadowColorRadItem.EnableRippleAnimationRadItem.RippleAnimationColorRadItem.EnableFocusBorderRadItem.FocusBorderColorRadItem.FocusBorderWidthRadItem.EnableFocusBorderAnimationRadItem.EnableHighlightRadItem.HighlightColorRadItem.EnableBorderHighlightRadItem.BorderHighlightColorRadItem.BorderHighlightThicknessRadItem.MnemonicTextRadItem.ToolTipTextRadItem.ThemeRoleRadItem.VisualStateRadItem.StateManagerRadItem.AllowDragRadItem.AllowDropRadItem.ShortcutsRadItem.AccessibleDescriptionRadItem.AccessibleNameRadItem.AccessibleRoleRadItem.TextChangingRadItem.TextChangedRadItem.TextOrientationChangedRadItem.FlipTextChangedRadItem.QueryAccessibilityHelpRadItem.KeyDownRadItem.KeyPressRadItem.KeyUpRadItem.ZoomGestureRadItem.RotateGestureRadItem.PanGestureRadItem.TwoFingerTapGestureRadItem.PressAndTapGestureRadComponentElement.ToString()RadComponentElement.GetService(Type)RadComponentElement.CanRaiseEventsRadComponentElement.ContainerRadComponentElement.DesignModeRadComponentElement.SiteRadComponentElement.DataBindingsVisualElement.DefaultSizePropertyVisualElement.ForeColorPropertyVisualElement.BackColorPropertyVisualElement.FontPropertyVisualElement.SmoothingModePropertyVisualElement.OpacityPropertyVisualElement.CustomFontPropertyVisualElement.CustomFontSizePropertyVisualElement.CustomFontStylePropertyVisualElement.OnFontChanged(EventArgs)VisualElement.PaintChildren(IGraphics, Rectangle, float, SizeF, bool)VisualElement.PrePaintElement(IGraphics)VisualElement.PostPaintElement(IGraphics)VisualElement.GetScaledFont(float)VisualElement.GetScaledFont(float, Font)VisualElement.DefaultSizeVisualElement.ForeColorVisualElement.BackColorVisualElement.FontVisualElement.CustomFontVisualElement.CustomFontSizeVisualElement.CustomFontStyleVisualElement.SmoothingModeVisualElement.OpacityVisualElement.FontChangedRadElement.BoundsPropertyRadElement.BorderThicknessPropertyRadElement.PaddingPropertyRadElement.MarginPropertyRadElement.AlignmentPropertyRadElement.AutoSizeModePropertyRadElement.FitToSizeModePropertyRadElement.MinSizePropertyRadElement.EnabledPropertyRadElement.CanFocusPropertyRadElement.IsItemFocusedPropertyRadElement.IsFocusedPropertyRadElement.IsMouseOverPropertyRadElement.IsMouseOverElementPropertyRadElement.IsMouseDownPropertyRadElement.ShouldPaintPropertyRadElement.VisibilityPropertyRadElement.NamePropertyRadElement.ClassPropertyRadElement.ClipDrawingPropertyRadElement.ShapePropertyRadElement.MouseClickedEventRadElement.MouseDoubleClickedEventRadElement.MouseDownEventRadElement.MouseUpEventRadElement.MouseWheelEventRadElement.ChildElementAddedEventRadElement.ParentChangedEventRadElement.BoundsChangedEventRadElement.VisibilityChangingEventRadElement.EnabledChangedEventRadElement.ControlChangedEventRadElement.BackgroundShapePropertyRadElement.BackgroundShapePaintModePropertyRadElement.ContainsFocusPropertyRadElement.ContainsMousePropertyRadElement.MaxSizePropertyRadElement.RightToLeftPropertyRadElement.AutoSizePropertyRadElement.ZIndexPropertyRadElement.AngleTransformPropertyRadElement.ScaleTransformPropertyRadElement.PositionOffsetPropertyRadElement.TagPropertyRadElement.StretchHorizontallyPropertyRadElement.StretchVerticallyPropertyRadElement.UseCompatibleTextRenderingPropertyRadElement.ClickModePropertyRadElement.styleVersionRadElement.paintSystemSkinRadElement.SetPropertyValueCommandRadElement.GetPropertyValueCommandRadElement.StylePropertyRadElement.CallCreateChildElements()RadElement.SuspendReferenceUpdate()RadElement.ResumeReferenceUpdate()RadElement.OnLoad(bool)RadElement.LoadCore()RadElement.OnUnload(ComponentThemableElementTree, bool)RadElement.UnloadCore(ComponentThemableElementTree)RadElement.OnUnloaded(ComponentThemableElementTree)RadElement.OnElementTreeChanged(ComponentThemableElementTree)RadElement.OnBeginDispose()RadElement.SetParent(RadElement)RadElement.OnParentChanged(RadElement)RadElement.UpdateReferences(ComponentThemableElementTree, bool, bool)RadElement.ResetLayout(bool)RadElement.HasInvisibleAncestor()RadElement.ResetLayoutCore()RadElement.InvalidateArrange()RadElement.InvalidateArrange(bool)RadElement.InvalidateMeasure()RadElement.InvalidateMeasure(bool)RadElement.UpdateLayout()RadElement.SuspendLayout()RadElement.SuspendLayout(bool)RadElement.ResumeLayout(bool)RadElement.ResumeLayout(bool, bool)RadElement.Arrange(RectangleF)RadElement.Measure(SizeF)RadElement.SetBounds(Rectangle)RadElement.SetBounds(int, int, int, int)RadElement.GetBoundingRectangle(Size)RadElement.GetBoundingRectangle(Rectangle)RadElement.GetDesiredSize(bool)RadElement.PointToScreen(Point)RadElement.PointFromScreen(Point)RadElement.PointToControl(Point)RadElement.PointFromControl(Point)RadElement.LocationToControl()RadElement.RectangleToScreen(Rectangle)RadElement.HitTest(Point)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(bool)RadElement.Invalidate()RadElement.Invalidate(bool)RadElement.GetInvalidateBounds()RadElement.NotifyInvalidate(RadElement)RadElement.OnTransformationInvalidated()RadElement.PerformLayoutTransformation(ref RadMatrix)RadElement.PerformPaintTransformation(ref RadMatrix)RadElement.IsInGetAsBitmap()RadElement.PaintElementSkin(IGraphics)RadElement.PaintBackgroundShape(IGraphics)RadElement.PostPaintChildren(IGraphics, Rectangle, float, SizeF)RadElement.PaintChild(RadElement, IGraphics, Rectangle, float, SizeF, bool)RadElement.PaintShadow(RadElement, IGraphics)RadElement.PaintShadowCore(Graphics, Rectangle, RadItem)RadElement.GetShadowRect(ref Rectangle, int)RadElement.PaintFocusCues(IGraphics, Rectangle)RadElement.GetAsBitmap(IGraphics, Brush, float, SizeF)RadElement.GetAsTransformedBitmap(IGraphics, Brush, float, SizeF)RadElement.GetAsTransformedBitmap(Brush, float, SizeF)RadElement.GetAsTransformedBitmap(Rectangle, Brush, float, SizeF)RadElement.GetAsBitmapEx(Brush, float, SizeF)RadElement.GetAsBitmap(Brush, float, SizeF)RadElement.IsInVisibleClipBounds(Rectangle)RadElement.SetClipping(Graphics)RadElement.ShouldPaintChild(RadElement)RadElement.GetFocusRect()RadElement.GetCurrentShape()RadElement.GetPaintRectangle(float, float, SizeF)RadElement.GetPatchedRect(RectangleF, float, SizeF)RadElement.GetXPVisualStyle()RadElement.GetVistaVisualStyle()RadElement.InitializeSystemSkinPaint()RadElement.UnitializeSystemSkinPaint()RadElement.GetSystemSkinPaintBounds()RadElement.OnUseSystemSkinChanged(EventArgs)RadElement.ShouldPaintSystemSkin()RadElement.ComposeShouldPaintSystemSkin()RadElement.ResetStyleSettings(bool)RadElement.ResetStyleSettings(bool, RadProperty)RadElement.ProcessBehaviors(RadPropertyChangedEventArgs)RadElement.AddBehavior(PropertyChangeBehavior)RadElement.GetBehaviors()RadElement.RemoveBehavior(PropertyChangeBehavior)RadElement.ClearBehaviors()RadElement.AddRangeBehavior(PropertyChangeBehaviorCollection)RadElement.SetThemeApplied(bool)RadElement.OnStyleChanged(RadPropertyChangedEventArgs)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.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.IsChildOf(RadElement)RadElement.Focus()RadElement.Focus(bool)RadElement.SetFocusPropertySafe(bool)RadElement.KillFocus()RadElement.OnCLREventsRise(RoutedEventArgs)RadElement.OnMouseHover(EventArgs)RadElement.OnParentEnabledChanged(RadPropertyChangedEventArgs)RadElement.OnLostMouseCapture(MouseEventArgs)RadElement.OnDoubleClick(EventArgs)RadElement.OnMouseEnter(EventArgs)RadElement.PerformClick()RadElement.OnMouseWheel(MouseEventArgs)RadElement.DoMouseWheel(MouseEventArgs)RadElement.DoClick(EventArgs)RadElement.DoDoubleClick(EventArgs)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.UpdateContainsFocus(bool)RadElement.DoMouseEnter(EventArgs)RadElement.DoMouseLeave(EventArgs)RadElement.GetValue(RadProperty)RadElement.AddStylePropertySetting(IPropertySetting)RadElement.SetValueCore(RadPropertyValue, object, object, ValueSource)RadElement.NotifyChildren(RadPropertyChangedEventArgs)RadElement.OnLocationChanged(RadPropertyChangedEventArgs)RadElement.OnDisplayPropertyChanged(RadPropertyChangedEventArgs)RadElement.CanRaisePropertyChangeNotifications(RadPropertyValue)RadElement.IsPropertyCancelable(RadPropertyMetadata)RadElement.OnParentPropertyChanged(RadPropertyChangedEventArgs)RadElement.PerformDispose(bool)RadElement.DisposeChildren()RadElement.GetStylableChildrenHierarchy()RadElement.GetStylableChildren()RadElement.GetBorderThickness(BorderPrimitive)RadElement.DpiScaleChanged(SizeF)RadElement.ElementStateRadElement.DesiredSizeRadElement.IsLayoutSuspendedRadElement.BoundingRectangleRadElement.ControlBoundingRectangleRadElement.BypassLayoutPoliciesRadElement.IsArrangeValidRadElement.IsMeasureValidRadElement.TreeLevelRadElement.TransformRadElement.TotalTransformRadElement.ShouldPaintUsingParentShapeRadElement.UseSystemSkinRadElement.PropagateStyleToChildrenRadElement.ThemeEffectiveTypeRadElement.ElementTreeRadElement.ChildrenRadElement.ChildrenHierarchyRadElement.ParentRadElement.RoutedEventBehaviorsRadElement.LayoutableChildrenCountRadElement.ContainsFocusRadElement.NotifyParentOnMouseInputRadElement.IsAbleToRespondToMouseEventsRadElement.AutoSizeRadElement.BoundsRadElement.LocationRadElement.SizeRadElement.BorderThicknessRadElement.PaddingRadElement.MarginRadElement.AlignmentRadElement.AutoSizeModeRadElement.FitToSizeModeRadElement.EnabledRadElement.IsFocusedRadElement.IsMouseOverRadElement.IsMouseOverElementRadElement.IsMouseDownRadElement.InvalidateChildrenOnChildChangedRadElement.VisibilityRadElement.IsElementVisibleRadElement.NameRadElement.ClassRadElement.ClipDrawingRadElement.ShapeRadElement.MinSizeRadElement.MaxSizeRadElement.ZIndexRadElement.RightToLeftRadElement.UseCompatibleTextRenderingRadElement.BackgroundShapeRadElement.BackgroundShapePaintModeRadElement.ContainsMouseRadElement.CaptureRadElement.ScaleTransformRadElement.AngleTransformRadElement.PositionOffsetRadElement.SerializePropertiesRadElement.SerializeElementRadElement.SerializeChildrenRadElement.RenderingMaxFramerateRadElement.IsThemeAppliedRadElement.ShouldApplyThemeRadElement.UseCenteredAngleTransformRadElement.TagRadElement.StretchHorizontallyRadElement.StretchVerticallyRadElement.ClickModeRadElement.DoubleClickEnabledRadElement.CaptureOnMouseDownRadElement.IsItemHoveredRadElement.StyleRadElement.AutoToolTipRadElement.ScreenTipRadElement.AutoNumberKeyTipRadElement.DpiScaleFactorRadElement.LayoutUpdatedRadElement.MouseHoverRadElement.MouseMoveRadElement.MouseDownRadElement.MouseUpRadElement.ClickRadElement.DoubleClickRadElement.MouseEnterRadElement.MouseWheelRadElement.EnabledChangedRadElement.MouseLeaveRadElement.ChildrenChangedRadElement.LostMouseCaptureRadObject.BindingContextPropertyRadObject.RadTypeRadObject.ClearPropertyStore()RadObject.SuspendPropertyNotifications()RadObject.ResumePropertyNotifications()RadObject.GetPropertyValue(RadProperty)RadObject.SetDefaultValueOverride(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(RadProperty)RadObject.BindProperty(RadProperty, RadObject, RadProperty, PropertyBindingOptions)RadObject.UnbindProperty(RadProperty)RadObject.GetInheritedValue(RadProperty)RadObject.OnNotifyPropertyChanged(PropertyChangedEventArgs)RadObject.OnShouldSerializeProperty(ShouldSerializePropertyEventArgs)RadObject.PropertyValuesRadObject.PropertyFilterRadObject.RadObjectTypeRadObject.BindingContextRadObject.PropertyChangedRadObject.RadPropertyChangedRadObject.RadPropertyChangingDisposableObject.GetBitState(long)DisposableObject.SetBitState(long, bool)DisposableObject.Dispose()DisposableObject.Dispose(bool)DisposableObject.DisposeUnmanagedResources()DisposableObject.BitStateDisposableObject.EventsDisposableObject.IsDisposingDisposableObject.IsDisposedDisposableObject.DisposedDisposableObject.Disposing...

Constructors

C#
public RadRatingElement()

Fields

Identifies the Value dependency property. This property defines the current rating value with support for null values to indicate no rating. Changes to this property trigger layout updates and visual refresh operations.

C#
public static RadProperty ValueProperty

Properties

Gets or sets the text displayed in the caption label positioned above the rating items. This text typically serves as a title or primary label for the rating interface, providing context about what is being rated.

C#
public string Caption { get; set; }
Property Value:

A string representing the caption text. The default value is an empty string.

Gets the visual element that displays the caption text. This provides direct access to the caption element for advanced styling, theming, or layout customization.

C#
public LightVisualElement CaptionElement { get; }
Property Value:

A LightVisualElement representing the caption display element.

Gets or sets the text displayed in the description label positioned below the rating items. This text typically provides additional information, instructions, or context about the rating, such as explaining what different rating values represent or providing usage guidelines.

C#
public string Description { get; set; }
Property Value:

A string representing the description text. The default value is an empty string.

Gets the visual element that displays the description text. This provides direct access to the description element for advanced styling, theming, or layout customization.

C#
public LightVisualElement DescriptionElement { get; }
Property Value:

A LightVisualElement representing the description display element.

Gets or sets the direction in which rating items are painted and evaluated. This determines whether the rating starts from the beginning (Standard) or from the end (Reversed) of the item collection, affecting both visual appearance and value calculation during user interactions.

C#
public RatingDirection Direction { get; set; }
Property Value:

A RatingDirection value that specifies the painting direction. The default is Standard.

Gets or sets the orientation of the rating control, determining whether rating items are arranged horizontally or vertically. Changing the orientation affects both the visual layout and the interaction behavior of rating items, automatically updating the vertical properties of individual rating elements.

C#
public Orientation ElementOrientation { get; set; }
Property Value:

An Orientation value that specifies the layout orientation. The default is Horizontal.

Gets the stack layout element that contains and arranges the rating visual items. This provides direct access to the layout container for advanced customization of item arrangement, spacing, and orientation behavior.

C#
public StackLayoutElement ElementsLayout { get; }
Property Value:

A StackLayoutElement that manages the layout of rating items.

Gets or sets the hover value that represents the rating value under the current mouse position. This value is used to provide visual feedback during mouse hover operations, allowing users to preview what their rating selection would be before clicking to confirm.

C#
public double HoverValue { get; set; }
Property Value:

A double representing the hover value for visual feedback.

Gets or sets a value indicating whether this rating element is hosted within a RadGridView control. This property enables special handling and optimizations when the rating element is used as a grid cell editor, automatically propagating this state to all contained rating visual elements for consistent behavior.

C#
public bool IsInRadGridView { get; set; }
Property Value:

true if the element is hosted in a RadGridView; otherwise, false.

Gets the collection of rating visual items that represent the individual rating elements. This collection contains the visual elements (such as stars, diamonds, or hearts) that users interact with to provide their rating. Items can be added, removed, or customized to create different rating interfaces.

C#
[Bindable(true)]
public RadItemOwnerCollection Items { get; }
Property Value:

A RadItemOwnerCollection containing the rating visual elements.

Gets or sets the maximum value that can be assigned to the rating element. This property defines the upper bound of the rating range and affects how rating items are interpreted. The maximum value must be greater than the minimum value to maintain a valid range.

C#
public double Maximum { get; set; }
Property Value:

A double value representing the maximum rating. The default value is 100.0.

Exceptions:

ArgumentException

Thrown when the maximum value is set to be less than or equal to the minimum value.

Gets or sets the minimum value that can be assigned to the rating element. This property defines the lower bound of the rating range and affects how rating items are interpreted. The minimum value must be less than the maximum value to maintain a valid range.

C#
public double Minimum { get; set; }
Property Value:

A double value representing the minimum rating. The default value is 0.0.

Exceptions:

ArgumentException

Thrown when the minimum value is set to be greater than or equal to the maximum value.

Gets or sets the percentage threshold used for automatic value rounding near the minimum and maximum bounds. When user selections are within this percentage of the range extremes, the value automatically snaps to the minimum or maximum value for improved usability and to prevent accidental near-miss selections.

C#
public double PercentageRounding { get; set; }
Property Value:

A double representing the percentage rounding threshold as a value between 0 and 100. The default value is 0.5.

Gets or sets a value indicating whether the rating element is in read-only mode. When read-only, users cannot interact with the rating items to change the value, but the value can still be set programmatically. This mode is useful for displaying ratings without allowing user modification, such as showing existing reviews or scores.

C#
public bool ReadOnly { get; set; }
Property Value:

true if the rating element is read-only; otherwise, false. The default value is false.

Gets or sets the internal selected value that represents the user's current selection before it's committed. This value is used during interaction scenarios to track what the user has selected but may not yet be reflected in the final Value property. It supports percentage-based rounding for user-friendly value snapping near minimum and maximum bounds.

C#
public virtual double SelectedValue { get; set; }
Property Value:

A double representing the selected value within the element's range.

Gets or sets the selection mode that determines how rating values are calculated and quantized during user interaction. This property controls the precision and behavior of value selection, supporting precise decimal values, half-item increments, or full-item selections based on user interaction patterns.

C#
public RatingSelectionMode SelectionMode { get; set; }
Property Value:

A RatingSelectionMode value that specifies the selection behavior. The default is Precise.

Gets or sets a value indicating whether hover visual feedback should be displayed when users move their mouse over rating items. When enabled, rating items will show visual preview of the potential selection as the mouse moves across them. This enhances user experience by providing immediate visual feedback during interaction.

C#
[Browsable(true)]
public bool ShouldPaintHover { get; set; }
Property Value:

true to display hover effects; false to disable hover visual feedback. The default value is true.

Gets or sets the text displayed in the sub-caption label positioned between the caption and rating items. This text provides additional context or instructions for the rating interface, typically offering more detailed information than the main caption.

C#
public string SubCaption { get; set; }
Property Value:

A string representing the sub-caption text. The default value is an empty string.

Gets the visual element that displays the sub-caption text. This provides direct access to the sub-caption element for advanced styling, theming, or layout customization.

C#
public LightVisualElement SubCaptionElement { get; }
Property Value:

A LightVisualElement representing the sub-caption display element.

Gets or sets the duration in milliseconds that tooltips remain visible during user interaction. This property controls how long tooltips stay displayed when users hover over rating items, balancing information availability with interface cleanliness.

C#
[Browsable(true)]
public int ToolTipDuration { get; set; }
Property Value:

An integer representing the tooltip duration in milliseconds. The default value is 2000 (2 seconds).

Gets or sets the format string used for displaying tooltip values during user interaction. This string uses standard .NET string formatting syntax to control how rating values are presented in tooltips when users hover over rating items.

C#
public string ToolTipFormatString { get; set; }
Property Value:

A format string for tooltip display. The default value is "{0:0.0}" to show one decimal place.

Gets or sets the offset position for tooltip display relative to the mouse cursor. This property controls where tooltips appear in relation to the current mouse position, allowing customization of tooltip placement to avoid cursor obstruction and improve readability.

C#
public Point ToolTipOffset { get; set; }
Property Value:

A Point representing the tooltip offset in pixels. The default value is (10, 15).

Gets or sets the precision threshold for tooltip value updates during mouse interaction. This value determines how much the current rating value must change before the tooltip content is updated, preventing excessive tooltip flickering during smooth mouse movements.

C#
public double ToolTipPrecision { get; set; }
Property Value:

A double representing the precision threshold for tooltip updates. The default value is 0.1.

Gets or sets the current rating value as a nullable double. This is the primary property that represents the user's rating selection within the range defined by Minimum and Maximum properties. A null value indicates that no rating has been selected. Value changes trigger validation, range checking, and cancelable change events.

C#
[Browsable(false)]
public double? Value { get; set; }
Property Value:

A nullable double representing the current rating value, or null if no rating is selected.

Methods

Creates and configures the child elements that comprise the rating interface. This method establishes the visual hierarchy including caption, sub-caption, description labels, and the main elements layout container. It also initializes the rating items collection with default item types and configures the overall layout properties.

C#
protected override void CreateChildElements()

Overrides: RadElement.CreateChildElements()

Calculates and returns the zero-based index of the rating item that corresponds to the specified value. This method performs value-to-index mapping considering the current range, direction, and orientation settings to determine which rating item should be highlighted or selected.

C#
protected virtual int GetElementIndex(double? value)
Parameters:valuedouble?

The rating value to convert to an item index.

Returns:

int

An integer representing the zero-based index of the corresponding rating item.

Normalizes a rating value by subtracting the minimum value to create a zero-based range. This method converts absolute rating values to relative values within the rating range, handling null values appropriately for consistent calculations.

C#
protected virtual double GetNormalizedValue(double? value)
Parameters:valuedouble?

The rating value to normalize, or null if no value is set.

Returns:

double

A double representing the normalized value relative to the minimum bound.

Calculates the relative point within a rating visual element that corresponds to the specified value. This method determines the precise position within an individual rating item where the visual representation should be clipped or highlighted based on the partial value it represents.

C#
protected virtual Point GetRelativePoint(int elementIndex, RatingBaseVisualElement currentVisualElement, double? value)
Parameters:elementIndexint

The index of the rating element being calculated.

currentVisualElementRatingBaseVisualElement

The visual element for which to calculate the relative point.

valuedouble?

The rating value to convert to a relative position.

Returns:

Point

A Point representing the relative position within the visual element.

Initializes the fields and default values for the rating element. This method sets up default tooltip configuration, rounding behavior, and visual settings to provide a consistent baseline experience for rating interactions.

C#
protected override void InitializeFields()

Overrides: StackLayoutElement.InitializeFields()

Measures the desired size of the rating element based on its child elements and available space. This method calculates the optimal size by measuring all child elements (caption, sub-caption, rating items layout, and description) and determining the required width and height.

C#
protected override SizeF MeasureOverride(SizeF availableSize)
Parameters:availableSizeSizeF

The available size that this element can use to arrange its children.

Returns:

SizeF

A SizeF representing the desired size of the rating element.

Overrides: StackLayoutElement.MeasureOverride(SizeF)

Handles the click event to commit the current selected value as the rating value. This method validates that the click occurred within the rating items area and that the element is not in read-only mode before applying the selected value.

C#
protected override void OnClick(EventArgs e)
Parameters:eEventArgs

An EventArgs that contains the event data.

Overrides: RadElement.OnClick(EventArgs)

Handles the mouse down event to update the selected value and apply visual feedback. This method calculates the rating value based on the mouse position, updates the selected value, and triggers visual painting for the selected value layer.

C#
protected override void OnMouseDown(MouseEventArgs e)
Parameters:eMouseEventArgs

A MouseEventArgs that contains the event data.

Overrides: RadItem.OnMouseDown(MouseEventArgs)

Handles the mouse leave event by resetting all interactive visual states and hiding tooltips. This method ensures that hover effects and visual feedback are properly cleared when the mouse exits the rating element boundaries.

C#
protected override void OnMouseLeave(EventArgs e)
Parameters:eEventArgs

An EventArgs that contains the event data.

Overrides: RadItem.OnMouseLeave(EventArgs)

Handles mouse movement over the rating element, providing interactive feedback and tooltip display. This method processes mouse position to determine hover values, updates visual feedback, and manages tooltip display with precision-based updates. It respects read-only mode and handles both standard and right-to-left layout orientations.

C#
protected override void OnMouseMove(MouseEventArgs e)
Parameters:eMouseEventArgs

A MouseEventArgs that contains the event data.

Overrides: LightVisualElement.OnMouseMove(MouseEventArgs)

Handles the mouse up event by resetting the selected value visual layer. This method clears the temporary selected value visual feedback, returning the rating items to their standard display state after the mouse button is released.

C#
protected override void OnMouseUp(MouseEventArgs e)
Parameters:eMouseEventArgs

A MouseEventArgs that contains the event data.

Overrides: RadItem.OnMouseUp(MouseEventArgs)

Handles property change notifications and triggers appropriate visual updates. This method responds to key property changes that affect visual appearance, layout, or value representation, ensuring that the rating display remains synchronized with property values.

C#
protected override void OnNotifyPropertyChanged(string propertyName)
Parameters:propertyNamestring

The name of the property that changed.

Overrides: RadObject.OnNotifyPropertyChanged(string)

Handles property change notifications for the rating element. This method responds to specific property changes such as RightToLeft and Bounds, ensuring that visual updates and layout recalculations occur when necessary.

C#
protected override void OnPropertyChanged(RadPropertyChangedEventArgs e)
Parameters:eRadPropertyChangedEventArgs

A RadPropertyChangedEventArgs that contains the event data.

Overrides: LightVisualElement.OnPropertyChanged(RadPropertyChangedEventArgs)

Raises the ValueChanged event with the specified event arguments. This method is called when the rating value has been successfully changed to notify any registered event handlers.

C#
protected virtual void OnValueChanged(EventArgs e)
Parameters:eEventArgs

An EventArgs that contains the event data.

Raises the ValueChanging event with the specified event arguments. This method is called before a value change occurs, allowing handlers to validate or cancel the change.

C#
protected virtual void OnValueChanging(ValueChangingEventArgs e)
Parameters:eValueChangingEventArgs

A ValueChangingEventArgs that contains the event data and allows cancellation of the change.

Updates the visual representation of the rating value by painting the appropriate visual layers. This method is called when the rating value changes to ensure that the visual display accurately reflects the current value state across all rating items.

C#
protected virtual void PaintValueLevel()

Resets all interactive visual states including hover effects, selected value feedback, and tooltip display. This method clears temporary visual states and hides tooltips, typically called when interaction ends or when the mouse leaves the rating element area.

C#
protected void ResetValues()

Calculates and returns the rating value based on the current mouse position within a specific rating visual element. This method performs complex calculations considering the current selection mode, direction, orientation, and relative mouse position to determine the appropriate rating value for user feedback and selection.

C#
protected virtual double UpdateCurrentValue(int currentIndex, RatingVisualElement element, MouseEventArgs e)
Parameters:currentIndexint

The index of the current rating item being interacted with.

elementRatingVisualElement

The specific RatingVisualElement under the mouse cursor.

eMouseEventArgs

The MouseEventArgs containing the current mouse position.

Returns:

double

A double representing the calculated rating value based on the mouse interaction.

Calculates and returns the bounding rectangle that encompasses all rating visual elements. This method determines the overall area occupied by the rating items, which is used for hit testing, layout calculations, and interaction boundary detection.

C#
protected Rectangle VisualElementsBounds()
Returns:

Rectangle

A Rectangle representing the bounds of all rating visual elements.

Events

Occurs after the value of the rating element has been changed through user interaction or programmatic assignment. This event is fired after the value change is complete and all related processing has been finished.

C#
[Browsable(true)]
public event EventHandler ValueChanged

Occurs before the value of the rating element is changed, providing an opportunity to cancel the change. This cancelable event allows validation or conditional approval of value changes before they are applied, enabling custom business logic or user confirmation scenarios.

C#
public event ValueChangingEventHandler ValueChanging