syncfusion-winui-slider
SKILL.md
Implementing Syncfusion WinUI Slider
When to Use This Skill
Use the Syncfusion WinUI Slider when you need to:
- Allow users to select a single numeric value from a range
- Provide an interactive way to adjust values (volume, brightness, price range, etc.)
- Display value selection with visual feedback (labels, ticks, tooltips)
- Create slider controls with customizable appearance and behavior
- Implement range selectors for filtering or configuration
- Build settings panels with adjustable numeric parameters
- Add interactive controls for measurements, ratings, or scores
Component Overview
The Syncfusion WinUI Slider (SfSlider) is a highly interactive UI control that enables users to select a single value from a range of values. It provides rich features including:
- Numeric Value Support - Select values in any numeric range
- Labels - Display formatted values with customizable styles
- Ticks - Show major and minor tick marks at intervals
- Dividers - Visual separators between intervals
- Thumb Customization - Various built-in icons and custom styles
- Tooltips - Show selected value with custom formatting
- Track Styling - Customize active and inactive track appearance
- Orientation - Horizontal or vertical layout
- Accessibility - Full keyboard and screen reader support
Documentation and Navigation Guide
Getting Started
π Read: references/getting-started.md
- Creating a WinUI 3 desktop application
- Installing the Syncfusion.Sliders.WinUI NuGet package
- Adding namespace imports
- Basic slider initialization
- Setting minimum, maximum, and current values
- Enabling ticks, labels, and dividers
- Quick implementation examples
Core Features and Configuration
π Read: references/basic-features.md
- Numeric value support and ranges
- Orientation (Horizontal/Vertical)
- Value property and data binding
- Interval and step frequency
- IsEnabled and IsInversed properties
- ValueChanged event handling
- Custom range implementation
- Edge cases and validation
Labels
π Read: references/labels.md
- ShowLabels property
- Label placement and positioning
- Label format strings (numeric, percentage, currency, custom)
- LabelStyle customization
- LabelOffset configuration
- Custom label templates
- Label visibility and spacing
- RTL support for labels
Ticks
π Read: references/ticks.md
- ShowTicks property for major ticks
- Minor ticks with MinorTicksPerInterval
- Tick placement and offset
- MajorTickStyle customization
- MinorTickStyle customization
- TickPlacement (After, Before)
- Custom tick templates
- Tick frequency and spacing
Dividers
π Read: references/dividers.md
- ShowDividers property
- DividerHeight and DividerWidth
- Divider styling and colors
- Custom divider templates
- Divider placement relative to track
- Visual separation between intervals
Thumb and Tooltip
π Read: references/thumb-tooltip.md
- Thumb icon and customization
- ThumbStyle property
- Thumb overlay effects
- ShowToolTip property
- Tooltip placement (Top/Bottom)
- TooltipFormat for custom display
- Custom tooltip templates
- Hover and interaction states
- Thumb accessibility features
Track Customization
π Read: references/track-customization.md
- ActiveTrackHeight and InactiveTrackHeight
- ActiveTrackStyle and InactiveTrackStyle
- Track colors and brushes
- Track fill customization
- Gradient tracks
- Custom track templates
- Corner radius and styling
- Track interaction states
Quick Start Example
Basic Slider Implementation
<!-- Add namespace -->
<Window xmlns:slider="using:Syncfusion.UI.Xaml.Sliders">
<Grid>
<slider:SfSlider Value="50"
Minimum="0"
Maximum="100"
Width="400"
Margin="20" />
</Grid>
</Window>
Slider with Labels and Ticks
<slider:SfSlider Value="50"
Minimum="0"
Maximum="100"
Interval="10"
ShowLabels="True"
ShowTicks="True"
Width="400" />
Fully Featured Slider
<slider:SfSlider Value="50"
Minimum="0"
Maximum="100"
Interval="10"
ShowLabels="True"
ShowTicks="True"
ShowDividers="True"
ShowToolTip="True"
MinorTicksPerInterval ="1"
Width="400"
Height="60" />
Code-Behind Implementation
using Syncfusion.UI.Xaml.Sliders;
// Create slider
SfSlider slider = new SfSlider();
slider.Value = 50;
slider.Minimum = 0;
slider.Maximum = 100;
slider.Interval = 10;
slider.ShowLabels = true;
slider.ShowTicks = true;
slider.Width = 400;
// Handle value changes
slider.ValueChanged += (sender, e) =>
{
double newValue = e.NewValue;
Console.WriteLine($"Value changed to: {newValue}");
};
// Add to layout
rootGrid.Children.Add(slider);
Common Patterns
Volume Control Pattern
<slider:SfSlider Value="{Binding Volume, Mode=TwoWay}"
Minimum="0"
Maximum="100"
Interval="10"
ShowLabels="True"
ShowTicks="True"
ShowToolTip="True"
Width="300">
</slider:SfSlider>
Price Range Filter Pattern
<slider:SfSlider Value="{Binding MaxPrice, Mode=TwoWay}"
Minimum="0"
Maximum="1000"
Interval="100"
ShowLabels="True"
ShowTicks="True"
Width="400">
</slider:SfSlider>
Vertical Slider Pattern
<slider:SfSlider Value="50"
Minimum="0"
Maximum="100"
Orientation="Vertical"
ShowLabels="True"
ShowTicks="True"
Height="300"
Width="80" />
Disabled State Pattern
<slider:SfSlider Value="50"
IsEnabled="False"
ShowLabels="True"
ShowTicks="True"
Width="400" />
Key Properties
| Property | Type | Description |
|---|---|---|
Value |
double |
Current value of the slider |
Minimum |
double |
Minimum value (default: 0) |
Maximum |
double |
Maximum value (default: 100) |
Interval |
double |
Spacing between labels and ticks (default: calculated) |
ShowLabels |
bool |
Display value labels (default: false) |
ShowTicks |
bool |
Display tick marks (default: false) |
ShowDividers |
bool |
Display dividers between intervals (default: false) |
ShowToolTip |
bool |
Display tooltip on thumb hover/drag (default: false) |
Orientation |
Orientation |
Horizontal or Vertical (default: Horizontal) |
IsInversed |
bool |
Reverse the direction (default: false) |
MinorTicksPerInterval |
int |
Number of minor ticks per interval (default: 0) |
ActiveTrackHeight |
double |
Height of the filled track |
InactiveTrackHeight |
double |
Height of the unfilled track |
DividerHeight |
double |
Height of divider markers |
DividerWidth |
double |
Width of divider markers |
Key Events
| Event | Description |
|---|---|
ValueChanged |
Fired when the slider value changes |
Common Use Cases
- Audio/Video Controls - Volume, playback position, brightness
- Filter Sliders - Price range, age range, rating filters
- Settings Panels - Adjustable parameters, configuration values
- Image Editing - Brightness, contrast, saturation adjustments
- Measurement Tools - Temperature, pressure, scale selectors
- Rating Systems - Score selection, satisfaction ratings
- Progress Indicators - Interactive progress bars
- Zoom Controls - Scale/zoom level adjustment
Best Practices
- Set Appropriate Ranges: Define meaningful Minimum and Maximum values
- Use Intervals Wisely: Choose intervals that make sense for your data
- Enable Visual Feedback: Show labels, ticks, or tooltips for better UX
- Data Binding: Use two-way binding for reactive updates
- Accessibility: Ensure keyboard navigation works (Tab, Arrow keys)
- Custom Formatting: Use LabelFormat and TooltipFormat for clarity
- Responsive Width: Set appropriate Width for your layout
- Validation: Handle ValueChanged to validate and constrain values
Troubleshooting
Slider Not Showing:
- Verify Syncfusion.Sliders.WinUI NuGet is installed
- Check namespace import:
xmlns:slider="using:Syncfusion.UI.Xaml.Sliders" - Ensure Width or Height is set appropriately
Value Not Updating:
- Use Mode=TwoWay for data binding
- Handle ValueChanged event properly
- Check if IsEnabled is true
Labels/Ticks Not Visible:
- Set ShowLabels="True" and ShowTicks="True"
- Define Interval property
- Ensure sufficient Width/Height for layout
Tooltip Not Appearing:
- Set ShowToolTip="True"
- Verify mouse/touch interaction works
Next Steps
- Explore labels.md for custom label formatting
- Learn about ticks.md for precise value indicators
- Customize appearance with track-customization.md
- Add tooltips via thumb-tooltip.md
Weekly Installs
1
Repository
syncfusion/winuβ¦s-skillsFirst Seen
1 day ago
Security Audits
Installed on
amp1
cline1
opencode1
cursor1
continue1
kimi-cli1