skills/syncfusion/wpf-ui-components-skills/syncfusion-wpf-circular-progressbar

syncfusion-wpf-circular-progressbar

SKILL.md

Implementing SfCircularProgressBar (WPF)

When to Use This Skill

Use this skill when:

  • Displaying circular/radial progress for a known task (determinate)
  • Showing an indeterminate spinner while progress is unknown
  • Visualizing primary + secondary (buffer) progress simultaneously
  • Splitting progress into segments (e.g., steps in a workflow)
  • Customizing arc angles (semi-circle, full circle, partial arc)
  • Styling progress ring colors, gradients, or range-based colors
  • Placing custom content (text, buttons, images) at the center of the ring

Assembly: Syncfusion.SfProgressBar.WPF Namespace: Syncfusion.UI.Xaml.ProgressBar XAML Schema: http://schemas.syncfusion.com/wpf Key Class: SfCircularProgressBar


Quick Start

<Window
    xmlns:Syncfusion="http://schemas.syncfusion.com/wpf">
    <Grid>
        <!-- Determinate: shows 70% progress -->
        <Syncfusion:SfCircularProgressBar
            Progress="70"
            ShowProgressValue="True"
            Width="150" Height="150" />
    </Grid>
</Window>
using Syncfusion.UI.Xaml.ProgressBar;

SfCircularProgressBar circular = new SfCircularProgressBar();
circular.Progress = 70;
circular.ShowProgressValue = true;
circular.Width = 150;
grid.Children.Add(circular);

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • NuGet/assembly installation (Syncfusion.SfProgressBar.WPF)
  • XAML namespace and schema declaration
  • Declaring the control in XAML and code-behind
  • Setting the Progress property
  • Theme integration via SfSkinManager

States

📄 Read: references/states.md

  • Determinate state (default) with ShowProgressValue
  • Indeterminate state (IsIndeterminate="True") for unknown progress
  • Buffer state (SecondaryProgress, SecondaryProgressColor)
  • Decision guide: which state to use when

Appearance & Customization

📄 Read: references/appearance.md

  • Arc shape via StartAngle / EndAngle
  • Radius and thickness: IndicatorOuterRadius, IndicatorInnerRadius, TrackOuterRadius, TrackInnerRadius
  • Solid color: ProgressColor, TrackColor
  • Range-based colors: RangeColor with Start, End, Color
  • Gradient effect: RangeColor.IsGradient
  • Rounded ends: IndicatorCornerRadius
  • Animation: AnimationDuration, AnimationEasing

Segments & Custom Content

📄 Read: references/segments-and-custom-content.md

  • SegmentCount to split ring into discrete steps
  • ProgressContent for center UI (text, buttons, images)
  • Binding center text to Progress value
  • Play/Pause button with DispatcherTimer pattern

Key Properties

Property Type Default Purpose
Progress double 0 Current progress value (0–100)
ShowProgressValue bool false Display numeric % in center
IsIndeterminate bool false Indeterminate spinning animation
SecondaryProgress double 0 Buffer/secondary progress value
StartAngle double -90 Arc start angle in degrees
EndAngle double 270 Arc end angle in degrees
SegmentCount int 0 Number of segments (0 = none)
ProgressColor Brush theme Color of the progress arc
TrackColor Brush theme Color of the track arc
IndicatorCornerRadius double 0 Rounded ends on the progress arc
AnimationDuration TimeSpan 3000ms Indeterminate animation cycle time
ProgressContent object null Custom center content

Common Use Cases

  • File upload indicator — determinate with ShowProgressValue="True"
  • Loading spinner — indeterminate (IsIndeterminate="True")
  • Media player — ProgressContent with play/pause button
  • Step tracker — SegmentCount matching total steps
  • CPU/memory gauge — RangeColors mapping green/yellow/red zones
  • Semi-circle gauge — StartAngle="180" EndAngle="360"
Weekly Installs
4
First Seen
Today
Installed on
opencode4
gemini-cli4
deepagents4
antigravity4
claude-code4
github-copilot4