Skip to main content

ProgressRing

C# API / Fluence.Wpf.Controls

  • Assembly: Fluence.Wpf
  • Namespace: Fluence.Wpf.Controls
public class ProgressRing : Control

A circular progress indicator that supports both determinate and indeterminate modes.

Remarks: Indeterminate animation follows the WinUI 3 motion model: a private sweep-fraction dependency property pulses the arc length from zero to half the circumference and back over a 2 second linear cycle, while the template's PART_IndeterminateRotate transform spins the arc from 90 to 1170 degrees over the same 2 second cycle.

The legacy orbit-dot template settings (EllipseDiameter / EllipseOffset) are retained for custom templates and compatibility with earlier Fluence versions. The default template no longer consumes them.

Determinate mode renders a stroked arc through ArcSegment; the arc end-angle tweens for 367 ms with a WinUI-style decelerating key spline when Value changes.

Base type: Control (including inherited WPF and .NET members)

C# source

Constructors​

ProgressRing​

public ProgressRing()

Initializes a new instance of the ProgressRing class.

Properties​

EllipseDiameter​

public double EllipseDiameter { get; }

Gets the diameter that earlier orbit-dot templates use for each indeterminate-mode dot. The default Fluence template now uses an arc, but this value is retained for custom templates and compatibility.

EllipseOffset​

public Thickness EllipseOffset { get; }

Gets the top-margin offset used by earlier orbit-dot templates to position each dot on the orbit radius. The default Fluence template now uses an arc, but this value is retained for custom templates and compatibility.

IsActive​

public bool IsActive { get; set; }

Gets or sets whether the progress ring is active and visible.

IsIndeterminate​

public bool IsIndeterminate { get; set; }

Gets or sets whether the ring operates in indeterminate (spinning) mode.

Maximum​

public double Maximum { get; set; }

Gets or sets the maximum value.

Minimum​

public double Minimum { get; set; }

Gets or sets the minimum value.

ProgressState​

public ProgressRingState ProgressState { get; set; }

Gets or sets the visual state used to color the progress arc.

Remarks: Backward-compatibility alias for the orthogonal ShowPaused and ShowError flags. Setting this property maps one way onto the flags (Normal clears both); setting the flags directly leaves this property unchanged.

ShowError​

public bool ShowError { get; set; }

Gets or sets whether the ring renders its arcs in the error state using the system critical brush.

Remarks: In indeterminate mode the arc keeps spinning while the error state is shown. Takes precedence over ShowPaused when both flags are set. Setting this flag directly does not change the legacy ProgressState alias.

ShowPaused​

public bool ShowPaused { get; set; }

Gets or sets whether the ring renders its arcs in the paused state using the system caution brush.

Remarks: In indeterminate mode the spinning animation stops and a static half-circle arc is rendered instead. ShowError takes precedence when both flags are set. Setting this flag directly does not change the legacy ProgressState alias.

StrokeThickness​

public double StrokeThickness { get; set; }

Gets or sets the thickness of the progress arc stroke.

Remarks: Applies to both determinate and indeterminate arc visuals in the default template.

Value​

public double Value { get; set; }

Gets or sets the current progress value in determinate mode.

Methods​

OnApplyTemplate​

public override void OnApplyTemplate()

Documentation inherited from the Control API.

OnCreateAutomationPeer​

protected override AutomationPeer OnCreateAutomationPeer()

Documentation inherited from the Control API.

OnRenderSizeChanged​

protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo)

Documentation inherited from the Control API.

Dependency property identifiers​

Use these identifiers with WPF property APIs. The matching CLR properties appear above when the control exposes them.

EllipseDiameterProperty​

public static readonly DependencyProperty EllipseDiameterProperty

Identifies the read-only EllipseDiameter dependency property.

EllipseOffsetProperty​

public static readonly DependencyProperty EllipseOffsetProperty

Identifies the read-only EllipseOffset dependency property.

IsActiveProperty​

public static readonly DependencyProperty IsActiveProperty

Identifies the IsActive dependency property.

IsIndeterminateProperty​

public static readonly DependencyProperty IsIndeterminateProperty

Identifies the IsIndeterminate dependency property.

MaximumProperty​

public static readonly DependencyProperty MaximumProperty

Identifies the Maximum dependency property.

MinimumProperty​

public static readonly DependencyProperty MinimumProperty

Identifies the Minimum dependency property.

ProgressStateProperty​

public static readonly DependencyProperty ProgressStateProperty

Identifies the ProgressState dependency property.

ShowErrorProperty​

public static readonly DependencyProperty ShowErrorProperty

Identifies the ShowError dependency property.

ShowPausedProperty​

public static readonly DependencyProperty ShowPausedProperty

Identifies the ShowPaused dependency property.

StrokeThicknessProperty​

public static readonly DependencyProperty StrokeThicknessProperty

Identifies the StrokeThickness dependency property.

ValueProperty​

public static readonly DependencyProperty ValueProperty

Identifies the Value dependency property.