mcpField
S
syncfusion-wpf-radial-slider

syncfusion-wpf-radial-slider

github.com/syncfusionDesign & UI5155 installsUpdated 1w ago
Repository

About syncfusion-wpf-radial-slider

A reference skill for adding Syncfusion’s SfRadialSlider to WPF applications. It guides developers in configuring value ranges, arc behavior, ticks, labels, pointers, and center content.

Key features

  1. 01Numeric value range and step settings
  2. 02Configurable arc angles and direction
  3. 03Custom ticks and labels
  4. 04Pointer and preview pointer styling
  5. 05Inner-rim content templates

Use cases

  1. 01Build a temperature selector
  2. 02Create a full-circle or partial-arc control
  3. 03Snap selections to fixed increments
  4. 04Show formatted values in the center

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/syncfusion/wpf-ui-components-skills --skill syncfusion-wpf-radial-slider

After installing, type/syncfusion-wpf-radial-sliderin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
appearance.md
getting-started.md
ticks-and-templates.md
value-and-range.md

Details

From the project README

Implementing SfRadialSlider (WPF)

When to Use This Skill

Use this skill when the user needs to:

  • Add a circular/radial numeric value selector to a WPF application
  • Configure value range (Minimum, Maximum), step intervals (SmallChange), or tick spacing (TickFrequency)
  • Customize the start/end angle and sweep direction of the circular track
  • Display the selected value inside the inner rim using Content or ContentTemplate
  • Customize tick marks, tick labels, pointer, or preview pointer with DataTemplates
  • Format tick label text dynamically via the DrawLabel event
  • Style the inner rim, outer rim, foreground, and background

Component Overview

SfRadialSlider
├── Outer rim      — circular track background (Background, OuterRimStroke)
├── Ticks          — tick marks on the track (TickRadiusFactor, TickTemplate)
├── Labels         — tick value labels (LabelRadiusFactor, LabelTemplate, DrawLabel)
├── Pointer        — selection indicator (PointerRadiusFactor, PointerStyle)
├── Preview pointer — hover indicator (PreviewPointerStyle)
└── Inner rim      — center circle content area (InnerRimRadiusFactor, InnerRimFill, Content)

Assemblies:

  • Syncfusion.SfRadialMenu.WPF
  • Syncfusion.SfShared.WPF

Namespace: Syncfusion.Windows.Controls.Navigation
XAML Schema: http://schemas.syncfusion.com/wpf


Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Assembly references and namespace
  • XAML and C# control creation
  • Selecting a value by drag or click
  • Programmatic Value assignment
  • ValueChanged event
  • Themes with SfSkinManager
Value and Range Configuration

📄 Read: references/value-and-range.md

  • Value / Minimum / Maximum
  • Displaying value in content area (Content + ContentTemplate)
  • SmallChange — step interval
  • TickFrequency — tick spacing
  • ShowMaximumValue — show max when not a multiple
  • StartAngle / EndAngle — arc extent
  • SweepDirection — clockwise or counterclockwise
Ticks, Labels, and Templates

📄 Read: references/ticks-and-templates.md

  • TickRadiusFactor / TickVisibility / TickTemplate
  • LabelRadiusFactor / LabelVisibility / LabelTemplate
  • InnerRimRadiusFactor / OuterRimRadiusFactor
  • PointerRadiusFactor / PointerStyle
  • PreviewPointerStyle
  • DrawLabel event — per-label text, color, font
Appearance and Styling

📄 Read: references/appearance.md

  • Foreground / Background
  • InnerRimFill / InnerRimStroke / InnerRimStrokeThickness
  • OuterRimStroke / OuterRimStrokeThickness
  • FlowDirection (RTL)
  • SfSkinManager themes

Quick Start

xmlns:syncfusion="http://schemas.syncfusion.com/wpf"

<syncfusion:SfRadialSlider Name="radialSlider"
                           Height="200" Width="200"/>
using Syncfusion.Windows.Controls.Navigation;

SfRadialSlider radialSlider = new SfRadialSlider();
radialSlider.Height = 200;
radialSlider.Width  = 200;
this.Content = radialSlider;

Display selected value inside the inner rim:

<syncfusion:SfRadialSlider Value="{Binding SelectedValue, Mode=TwoWay}"
                           Content="{Binding SelectedValue, Mode=TwoWay}"
                           Height="200" Width="200">
    <syncfusion:SfRadialSlider.DataContext>
        <local:ViewModel/>
    </syncfusion:SfRadialSlider.DataContext>
</syncfusion:SfRadialSlider>

Common Patterns

ScenarioApproach
Temperature selector 0–100Minimum="0" Maximum="100"
Full circle vs arcStartAngle="0" EndAngle="360" vs StartAngle="90" EndAngle="330"
Snap to multiples of 5SmallChange="5"
Reduce tick countTickFrequency="20"
Counterclockwise arcSweepDirection="Counterclockwise"
Show max labelShowMaximumValue="True"
Color-code labels by valueHandle DrawLabel event
Custom pointer stylePointerStyle with TargetType="syncfusion:RadialPointer"
Display formatted value in centerContentTemplate with bound TextBlock

Key Properties

PropertyDefaultDescription
Value0Currently selected value
Minimum0Minimum tick value
Maximum100Maximum tick value
SmallChange0.1Smallest selectable increment
TickFrequency10Spacing between displayed ticks
ShowMaximumValuefalseShow max when not a TickFrequency multiple
StartAngle0Start angle of the circular arc
EndAngle360End angle of the circular arc
SweepDirectionClockwiseTick direction
ContentnullContent shown inside inner rim
ContentTemplatenullDataTemplate for inner rim content
InnerRimRadiusFactor0.2Inner circle radius (0–1)
OuterRimRadiusFactor0.7Outer rim radius (0–1)
TickRadiusFactor0.72Tick mark position radius
LabelRadiusFactor0.87Label position radius
PointerRadiusFactor0.75Pointer position radius
TickVisibilityVisibleShow/hide tick marks
LabelVisibilityVisibleShow/hide tick labels

Comments

Markdown supported