Implementing .NET MAUI Range Selector
The Syncfusion SfRangeSelector is a .NET MAUI control that lets users select a numeric range by dragging thumbs over a track. It uniquely supports embedding any content (typically a chart) inside the selector, making it ideal for filtering chart data by range.
When to Use This Skill
Use this skill when the user needs to:
- Set up SfRangeSelector from scratch in a MAUI app
- Embed chart content (
SfCartesianChart or other views) inside the range selector for interactive data filtering
- Customize track appearance — colors, height, and extent
- Configure intervals, ticks, labels, and dividers for the range scale
- Style thumb and overlay — size, colors, stroke
- Configure tooltips — show always, styling, custom text
- Implement selection modes — discrete, interval selection, drag behaviors
- Handle events — ValueChanged, ValueChanging, LabelCreated
- Use MVVM commands — DragStartedCommand, DragCompletedCommand
- Customize labels — placement, edge placement, styling, offset
- Style ticks and dividers — colors, sizes, strokes
- Add visual regions — active/inactive region colors and strokes
- Invert range selector direction with IsInversed
- Format displayed labels with prefix/suffix via
NumberFormat
- Enable Liquid Glass effect for modern translucent design
- Bind RangeStart/RangeEnd to a ViewModel for MVVM data binding
Component Overview
The SfRangeSelector is a .NET MAUI control for selecting a numeric range by dragging dual thumbs over a track. It uniquely supports embedding any content (typically a chart) inside the selector, making it ideal for interactive data filtering.
Package: Syncfusion.Maui.Sliders
Namespace: Syncfusion.Maui.Sliders
Control: SfRangeSelector
Key Capabilities:
- Embedded Content: Any .NET MAUI view (e.g.,
SfCartesianChart) rendered inside the selector
- Dual Thumbs: Drag to define start and end values with full track styling
- Interval Controls: Labels, ticks, minor ticks, and dividers at configurable intervals
- Selection Modes: Discrete steps, interval snapping, and drag behavior options
- Rich Customization: Track colors, thumb styles, tooltip, label/tick/divider styling
- Region Support: Active/inactive region customization
- MVVM Ready: Events, commands, and two-way data binding support
- Liquid Glass Effect: Modern translucent design for iOS/macOS 26+
Documentation and Navigation Guide
Getting Started
📄 Read: references/getting-started.md
- NuGet installation (
Syncfusion.Maui.Sliders)
- Handler registration in
MauiProgram.cs
- Minimal XAML and C# setup
- Adding chart content via the
Content property
- Namespace imports
Interval Configuration
📄 Read: references/interval-configuration.md
- Setting
Interval, Minimum, Maximum
- Auto-interval calculation when
Interval = 0
- Showing ticks with
ShowTicks + MinorTicksPerInterval
- Showing dividers with
ShowDividers
- How interval affects labels and ticks rendering
Display Features
📄 Read: references/display-features.md
- Enabling labels with
ShowLabels
- Enabling ticks and minor ticks
- Formatting labels with
NumberFormat (prefix/suffix)
- Inverting the selector with
IsInversed
- Configuring
RangeStart and RangeEnd
Content and Chart Integration
📄 Read: references/content-and-integration.md
- How the
Content property works
- Embedding
SfCartesianChart with hidden axes
- ViewModel +
ItemsSource binding pattern
SplineAreaSeries setup inside a range selector
- Tips for using other chart types
Track Customization
📄 Read: references/track-customization.md
- Minimum and Maximum properties
- RangeStart and RangeEnd values
- Track colors (ActiveFill, InactiveFill)
- Track height (ActiveSize, InactiveSize)
- Track extent (extending track edges)
- TrackStyle property and complete styling
Labels Customization
📄 Read: references/labels-customization.md
- ShowLabels property
- NumberFormat for prefix/suffix ($, %, etc.)
- LabelsPlacement (OnTicks vs BetweenTicks)
- EdgeLabelsPlacement (Default vs Inside)
- LabelStyle (colors, fonts, sizes for active/inactive)
- Label offset customization
- Custom label text via LabelCreated event
Ticks and Dividers
📄 Read: references/ticks-and-dividers.md
- ShowTicks and major ticks configuration
- MinorTicksPerInterval for minor ticks
- MajorTickStyle (colors, sizes, offset)
- MinorTickStyle (colors, sizes, offset)
- ShowDividers property
- DividerStyle (radius, colors, stroke, stroke thickness)
- Complete tick and divider styling examples
Selection Modes
📄 Read: references/selection-modes.md
- Discrete selection with StepSize
- EnableIntervalSelection property
- DragBehavior options (OnThumb, BetweenThumbs, Both)
- EnableDeferredUpdate for performance
- DeferredUpdateDelay configuration
- Selection behavior comparisons
Tooltip Configuration
📄 Read: references/tooltip-configuration.md
- Enabling tooltip with SliderTooltip
- ShowAlways property for persistent tooltips
- Tooltip styling (Fill, Stroke, StrokeThickness)
- Text styling (TextColor, FontSize, FontFamily, FontAttributes)
- Padding and Position properties
- NumberFormat for tooltip text
- Custom tooltip text via TooltipLabelCreated event
Thumb and Styling
📄 Read: references/thumb-and-styling.md
- ThumbStyle properties (Radius, Fill, Stroke, StrokeThickness)
- OverlapStroke for overlapping thumbs
- ThumbOverlayStyle (Radius, Fill)
- Visual regions (ActiveRegionFill, InactiveRegionFill, strokes)
- Complete styling patterns
- EnableLiquidGlassEffect for modern translucent design
- Platform requirements for Liquid Glass
Events and Commands
📄 Read: references/events-and-commands.md
- Value change events (ValueChangeStart, ValueChanging, ValueChanged, ValueChangeEnd)
- LabelCreated event for custom label text
- TooltipLabelCreated event for custom tooltip text
- DragStartedCommand and DragCompletedCommand
- Command parameters
- MVVM pattern implementation
- Complete event handling examples
1---
2name: syncfusion-maui-range-selector
3description: Implements the Syncfusion .NET MAUI Range Selector (SfRangeSelector) component. Use when working with range selection with embedded charts, numeric range input, RangeStart/RangeEnd, track customization, or thumb styling in .NET MAUI. Covers tooltip configuration, label formatting, ticks/dividers, selection modes, events, and embedding SfCartesianChart inside a range control.
4metadata:
5 author: "Syncfusion Inc"
6 version: "34.1.29"
7---
8
9# Implementing .NET MAUI Range Selector
10
11The Syncfusion `SfRangeSelector` is a .NET MAUI control that lets users select a numeric range by dragging thumbs over a track. It uniquely supports embedding any content (typically a chart) inside the selector, making it ideal for filtering chart data by range.
12
13## When to Use This Skill
14
15Use this skill when the user needs to:
16
17- **Set up SfRangeSelector** from scratch in a MAUI app
18- **Embed chart content** (`SfCartesianChart` or other views) inside the range selector for interactive data filtering
19- **Customize track appearance** — colors, height, and extent
20- **Configure intervals, ticks, labels, and dividers** for the range scale
21- **Style thumb and overlay** — size, colors, stroke
22- **Configure tooltips** — show always, styling, custom text
23- **Implement selection modes** — discrete, interval selection, drag behaviors
24- **Handle events** — ValueChanged, ValueChanging, LabelCreated
25- **Use MVVM commands** — DragStartedCommand, DragCompletedCommand
26- **Customize labels** — placement, edge placement, styling, offset
27- **Style ticks and dividers** — colors, sizes, strokes
28- **Add visual regions** — active/inactive region colors and strokes
29- **Invert range selector direction** with IsInversed
30- **Format displayed labels** with prefix/suffix via `NumberFormat`
31- **Enable Liquid Glass effect** for modern translucent design
32- **Bind RangeStart/RangeEnd to a ViewModel** for MVVM data binding
33
34## Component Overview
35
36The **SfRangeSelector** is a .NET MAUI control for selecting a numeric range by dragging dual thumbs over a track. It uniquely supports embedding any content (typically a chart) inside the selector, making it ideal for interactive data filtering.
37
38**Package**: `Syncfusion.Maui.Sliders`
39**Namespace**: `Syncfusion.Maui.Sliders`
40**Control**: `SfRangeSelector`
41
42**Key Capabilities:**
43- **Embedded Content**: Any .NET MAUI view (e.g., `SfCartesianChart`) rendered inside the selector
44- **Dual Thumbs**: Drag to define start and end values with full track styling
45- **Interval Controls**: Labels, ticks, minor ticks, and dividers at configurable intervals
46- **Selection Modes**: Discrete steps, interval snapping, and drag behavior options
47- **Rich Customization**: Track colors, thumb styles, tooltip, label/tick/divider styling
48- **Region Support**: Active/inactive region customization
49- **MVVM Ready**: Events, commands, and two-way data binding support
50- **Liquid Glass Effect**: Modern translucent design for iOS/macOS 26+
51
52## Documentation and Navigation Guide
53
54### Getting Started
55📄 **Read:** [references/getting-started.md](references/getting-started.md)
56- NuGet installation (`Syncfusion.Maui.Sliders`)
57- Handler registration in `MauiProgram.cs`
58- Minimal XAML and C# setup
59- Adding chart content via the `Content` property
60- Namespace imports
61
62### Interval Configuration
63📄 **Read:** [references/interval-configuration.md](references/interval-configuration.md)
64- Setting `Interval`, `Minimum`, `Maximum`
65- Auto-interval calculation when `Interval = 0`
66- Showing ticks with `ShowTicks` + `MinorTicksPerInterval`
67- Showing dividers with `ShowDividers`
68- How interval affects labels and ticks rendering
69
70### Display Features
71📄 **Read:** [references/display-features.md](references/display-features.md)
72- Enabling labels with `ShowLabels`
73- Enabling ticks and minor ticks
74- Formatting labels with `NumberFormat` (prefix/suffix)
75- Inverting the selector with `IsInversed`
76- Configuring `RangeStart` and `RangeEnd`
77
78### Content and Chart Integration
79📄 **Read:** [references/content-and-integration.md](references/content-and-integration.md)
80- How the `Content` property works
81- Embedding `SfCartesianChart` with hidden axes
82- ViewModel + `ItemsSource` binding pattern
83- `SplineAreaSeries` setup inside a range selector
84- Tips for using other chart types
85
86### Track Customization
87📄 **Read:** [references/track-customization.md](references/track-customization.md)
88- Minimum and Maximum properties
89- RangeStart and RangeEnd values
90- Track colors (ActiveFill, InactiveFill)
91- Track height (ActiveSize, InactiveSize)
92- Track extent (extending track edges)
93- TrackStyle property and complete styling
94
95### Labels Customization
96📄 **Read:** [references/labels-customization.md](references/labels-customization.md)
97- ShowLabels property
98- NumberFormat for prefix/suffix ($, %, etc.)
99- LabelsPlacement (OnTicks vs BetweenTicks)
100- EdgeLabelsPlacement (Default vs Inside)
101- LabelStyle (colors, fonts, sizes for active/inactive)
102- Label offset customization
103- Custom label text via LabelCreated event
104
105### Ticks and Dividers
106📄 **Read:** [references/ticks-and-dividers.md](references/ticks-and-dividers.md)
107- ShowTicks and major ticks configuration
108- MinorTicksPerInterval for minor ticks
109- MajorTickStyle (colors, sizes, offset)
110- MinorTickStyle (colors, sizes, offset)
111- ShowDividers property
112- DividerStyle (radius, colors, stroke, stroke thickness)
113- Complete tick and divider styling examples
114
115### Selection Modes
116📄 **Read:** [references/selection-modes.md](references/selection-modes.md)
117- Discrete selection with StepSize
118- EnableIntervalSelection property
119- DragBehavior options (OnThumb, BetweenThumbs, Both)
120- EnableDeferredUpdate for performance
121- DeferredUpdateDelay configuration
122- Selection behavior comparisons
123
124### Tooltip Configuration
125📄 **Read:** [references/tooltip-configuration.md](references/tooltip-configuration.md)
126- Enabling tooltip with SliderTooltip
127- ShowAlways property for persistent tooltips
128- Tooltip styling (Fill, Stroke, StrokeThickness)
129- Text styling (TextColor, FontSize, FontFamily, FontAttributes)
130- Padding and Position properties
131- NumberFormat for tooltip text
132- Custom tooltip text via TooltipLabelCreated event
133
134### Thumb and Styling
135📄 **Read:** [references/thumb-and-styling.md](references/thumb-and-styling.md)
136- ThumbStyle properties (Radius, Fill, Stroke, StrokeThickness)
137- OverlapStroke for overlapping thumbs
138- ThumbOverlayStyle (Radius, Fill)
139- Visual regions (ActiveRegionFill, InactiveRegionFill, strokes)
140- Complete styling patterns
141- EnableLiquidGlassEffect for modern translucent design
142- Platform requirements for Liquid Glass
143
144### Events and Commands
145📄 **Read:** [references/events-and-commands.md](references/events-and-commands.md)
146- Value change events (ValueChangeStart, ValueChanging, ValueChanged, ValueChangeEnd)
147- LabelCreated event for custom label text
148- TooltipLabelCreated event for custom tooltip text
149- DragStartedCommand and DragCompletedCommand
150- Command parameters
151- MVVM pattern implementation
152- Complete event handling examples
153