Represents the main visual element for the RadStepProgressBar control, providing step-based progress visualization with support for different layout modes and navigation.
Definition
Namespace:Telerik.WinControls.UI
Assembly:Telerik.WinControls.UI.dll
Syntax:
public class RadStepProgressBarElement : LightVisualElement, INotifyPropertyChanged, ICustomTypeDescriptor, ISupportSystemSkin, IBindableComponent, IComponent, ISupportDrag, ISupportDrop, IShortcutProvider, IStylableElement, IStylableNode, IPrimitiveElement, IShapedElement, IFillElement, IBorderElement, IBoxStyle, IBoxElement, IDrawFillElement, IImageElement, ITextPrimitive, ITextProvider, IStepProgressItemsProvider, IStepItemEnumerator, IDisposable, IEnumerator
Inheritance: objectDisposableObjectRadObjectRadElementVisualElementRadComponentElementRadItemUIItemBaseLightVisualElementRadStepProgressBarElement...
Implements:
Inherited Members
Constructors
Initializes a new instance of the RadStepProgressBarElement class.
public RadStepProgressBarElement()
Fields
Identifies the ConnectionThickness dependency property that defines the thickness of connection lines between steps.
public static RadProperty ConnectionThicknessProperty
Identifies the IndicatorSize dependency property that defines the size of step indicators.
public static RadProperty IndicatorSizeProperty
Identifies the Orientation dependency property that defines the layout orientation of the step progress bar.
public static RadProperty OrientationProperty
Identifies the StepSpacing dependency property that defines the spacing between step items.
public static RadProperty StepSpacingProperty
Properties
Gets or sets the thickness of the connection lines between steps.
public int ConnectionThickness { get; set; }
Gets the current step, which is the step that has its progress last updated or is last completed or cancelled.
public StepProgressItem Current { get; }
Gets or sets a value indicating whether steps which are in progress (between 0 and 100) are visually indicated.
public bool EnableItemInProgressVisualState { get; set; }
Gets or sets a value indicating whether the connection elements between steps will be hidden.
public bool HideConnections { get; set; }
Gets or sets the size of the step indicators.
public Size IndicatorSize { get; set; }
Gets the panel element that holds the visual step items.
public StepItemsContainer ItemsContainer { get; }
Gets or sets how the step items are measured and arranged in the available space.
public virtual StepLayoutMode LayoutMode { get; set; }
Gets or sets the step used for scrolling the items in the Absolute layout mode.
public int NavigationStep { get; set; }
public StepNavigationButtonElement NextButton { get; }
Gets or sets the orientation of the control, either horizontal or vertical.
public Orientation Orientation { get; set; }
public StepNavigationButtonElement PreviousButton { get; }
Gets or sets how the steps are related with regard to their progress. Changing this property will set the progress of all steps to 0.
public virtual StepProgressMode ProgressMode { get; set; }
Gets a collection of StepProgressItem objects that represents the different steps of the progress bar.
public RadItemOwnerGenericCollection<StepProgressItem> Steps { get; }
Implements:
Gets or sets the spacing between the steps.
public int StepSpacing { get; set; }
Methods
protected virtual void ArrangeNavigationButtons(RectangleF client, ref float stepItemsLength, ref float x, ref float y)
Arranges this element and its child elements within the specified size bounds.
Cancels all steps by setting their progress to 0.
public bool CancelAll()
true if all steps have their progress successfully set to 0; otherwise, false.
Cancels the specified step by setting its progress to 0.
public bool CancelStep(StepProgressItem step)
The step to be cancelled.
Returns:true if the step's progress was successfully set to 0; otherwise, false.
Completes all steps by setting their progress to 100.
public bool CompleteAll()
true if all steps have their progress successfully set to 100; otherwise, false.
Completes the next step in the sequence. If the current step is not completed, sets its progress to 100. Otherwise, attempts to complete the next step if available.
public bool CompleteNext()
true if a step's progress was successfully set to 100; otherwise, false.
Completes the previous step in the sequence by setting its progress to 100 and resets the current step's progress to 0.
public bool CompletePrevious()
true if the previous step's progress was successfully set to 100; otherwise, false.
Completes the specified step by setting its progress to 100.
public bool CompleteStep(StepProgressItem step)
The step to be completed.
Returns:true if the step's progress was successfully set to 100; otherwise, false.
Creates the child elements for this step progress bar element, including the items container and navigation elements.
protected override void CreateChildElements()
Overrides:
protected virtual void CreateNavigationElements()
Initializes the internal fields and components of the LightVisualElement. This method sets up text primitives, image primitives, and layout management components.
protected override void InitializeFields()
Overrides:
Attempts to move the current step to the next available position in the collection.
public bool MoveNext()
true if the current position has changed; otherwise, false.
Implements:
In case there is no current, the next step will be the first item in the Steps collection. If the current step is at the end of the Steps collection, the position will not change
Attempts to move the current step to the previous available step in the collection.
public bool MovePrevious()
true if the current position has changed; otherwise, false.
Implements:
In case there is no current step or the current step is first inside the Steps collection, the position will not change.
Raises the current step changed event to notify subscribers that the current step has changed.
protected virtual void OnCurrentStepChanged()
protected virtual void OnNavigationButtonClicked()
Handles property changes for this element, particularly for layout-affecting properties in absolute layout mode.
protected override void OnPropertyChanged(RadPropertyChangedEventArgs e)
The property change event arguments.
Overrides:
Raises the step progress changed event to notify subscribers that a step's progress has been updated.
protected virtual void OnStepItemProgressChanged(StepProgressItem item)
The step item whose progress has changed.
Raises the step progress changing event, allowing subscribers to cancel the progress change.
protected virtual void OnStepItemProgressChanging(StepProgressChangingEventArgs args)
The event arguments containing the step and new progress value.
Resets the current step to null, clearing any current step selection.
public void Reset()
Implements:
Determines whether a child element should be arranged during the layout process.
protected override bool ShouldArrangeChild(RadElement child)
The child element to evaluate.
Returns:true if the child should be arranged; otherwise, false.
Overrides:
Determines whether a child element should be measured during the layout process.
protected override bool ShouldMeasureChild(RadElement child)
The child element to evaluate.
Returns:true if the child should be measured; otherwise, false.
Overrides:
protected virtual void UpdateNavigationGlyph(RadButtonElement button)
Events
Occurs when the Current property value changes.
public event EventHandler CurrentChanged
Occurs when a step indicator is clicked.
public event StepClickedEventHandler StepClicked
Occurs when a StepProgressItem's progress value has been updated.
public event StepProgressChangedEventHandler StepProgressChanged
Occurs before updating a StepProgressItem's progress value, allowing the operation to be canceled.
public event StepProgressChangingEventHandler StepProgressChanging