ProgressRing
- 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)
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.