skills/syncfusion/maui-ui-components-skills/syncfusion-maui-segmented-control

syncfusion-maui-segmented-control

SKILL.md

Implementing Segmented Controls in .NET MAUI

The Syncfusion .NET MAUI Segmented Control (SfSegmentedControl) provides a linear set of segments containing text, icons, or both, allowing users to select from mutually exclusive options. Each segment functions as a discrete button, creating an intuitive way to switch between views, filter content, or select time periods.

When to Use This Skill

Use this skill when you need to:

  • Implement view switchers: Toggle between Day/Week/Month/Year views, list/grid layouts, or different data visualizations
  • Create filter buttons: Allow users to filter content by category, type, or time period
  • Build tab-like navigation: Provide segment-based navigation without traditional tabs
  • Design selection interfaces: Enable users to choose from 2-7 mutually exclusive options
  • Customize segment appearance: Style borders, backgrounds, colors, corner radius, or selection indicators
  • Configure selection behavior: Set up programmatic selection, selection modes, or custom indicators
  • Handle segment events: Respond to selection changes or segment taps
  • Support RTL layouts: Implement right-to-left language support
  • Apply special effects: Add liquid glass effects or custom animations

Common scenarios: Calendar view toggles, chart period selectors, sorting options, display mode switches, category filters, and settings toggles.

Component Overview

Key Features:

  • Multiple display formats (text, icon, or combination)
  • Four selection indicator styles (Fill, Border, TopBorder, BottomBorder)
  • Scrollable segments for large item counts
  • Two selection modes (Single, SingleDeselect)
  • Comprehensive appearance customization
  • Disabled segment support
  • RTL support
  • Ripple effect animations
  • DataTemplate support for custom layouts

Package: Syncfusion.Maui.Buttons
Namespace: Syncfusion.Maui.Buttons
Control Class: SfSegmentedControl

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

Start here for initial setup:

  • Installing Syncfusion.Maui.Buttons NuGet package
  • Registering Syncfusion handlers (ConfigureSyncfusionCore)
  • Basic control initialization in XAML and C#
  • Multi-IDE setup (Visual Studio, VS Code, Rider)
  • Namespace imports and minimal examples

Populating Segment Items

📄 Read: references/populating-items.md

For adding segments to the control:

  • Using ItemsSource with string arrays
  • Creating SfSegmentItem objects
  • Adding text, icons, or text+icon combinations
  • Image sources and font icon configuration
  • Dynamic item population
  • Data binding approaches

Selection Features

📄 Read: references/selection.md

For controlling selection behavior and appearance:

  • Programmatic selection with SelectedIndex
  • Selection indicator placements (Fill, Border, TopBorder, BottomBorder)
  • Selection modes (Single, SingleDeselect)
  • Customizing selected segment colors and backgrounds
  • Border customization for selected segments
  • Ripple effect animation (EnableRippleEffect)
  • Per-item selection styling

Appearance Customization

📄 Read: references/customization.md

For styling the control:

  • Border color and thickness (Stroke, StrokeThickness)
  • Corner radius (CornerRadius, SegmentCornerRadius)
  • Text styling (TextStyle, FontAttributes, FontSize)
  • Segment background colors
  • Per-item customization
  • Separator visibility (ShowSeparator)
  • DataTemplate customization (SegmentTemplate)
  • Selected item templates with IsSelected binding

Layout Configuration

📄 Read: references/layout.md

For sizing and layout control:

  • Segment width (SegmentWidth, per-item Width)
  • Segment height (SegmentHeight)
  • Visible segment count (VisibleSegmentsCount)
  • Scrolling behavior
  • Auto-sizing vs fixed dimensions

Disabled Segments

📄 Read: references/disabled-segments.md

For disabling specific segments:

  • Setting IsEnabled per segment
  • Visual feedback for disabled state
  • Preventing user interaction
  • Conditional disabling scenarios

Events

📄 Read: references/events.md

For handling user interactions:

  • SelectionChanged event
  • SegmentTapped event
  • Event arguments and accessing segment data
  • Programmatic response to selection
  • Event-driven UI updates

Advanced Features

📄 Read: references/advanced-features.md

For special capabilities:

  • Right-to-left (RTL) support and FlowDirection
  • Liquid glass effect styling
  • Custom visual effects
  • Platform-specific considerations
Weekly Installs
2
GitHub Stars
1
First Seen
Today
Installed on
amp2
cline2
opencode2
cursor2
kimi-cli2
warp2