Skip to main content
net9.0net9.0-android35.0net9.0-ios18.0net9.0-maccatalyst18.0net9.0-windows10.0.19041net10.0

This package provides the functionality to utilize the features of Syncfusion® Maui Buttons controls and more.

Published
Oct 13, 2026
5d ago
Total Downloads
1.4M
1,405,986

Install

dotnet add package Syncfusion.Maui.Buttons --version 35.1.40
ProductVersions
.NET
net10.0net10.0-android36.0net10.0-ios26.0net10.0-maccatalyst26.0net10.0-windows10.0.19041net9.0net9.0-android35.0net9.0-ios18.0net9.0-maccatalyst18.0net9.0-windows10.0.19041

README

Syncfusion .NET MAUI Buttons

The Syncfusion .NET MAUI Buttons package includes five fully-featured controls for .NET MAUI apps: Button, Segmented Control, CheckBox, RadioButton, and Switch. Each was built from the ground up for a native look and feel with rich customization, and works in Android, iOS, macOS, and Windows from a single codebase.

Documentation · Getting Started · API Reference · Demos on GitHub · Product Page · Release Notes


Controls in this package

Control Purpose
SfButton Custom button with icons, predefined styles, rounded corners, and visual state customization
SfCheckBox Select one or more options; supports checked, unchecked, and indeterminate states
SfRadioButton Select one option from a set, with support for grouping radio buttons
SfSegmentedControl Multiple segments where each segment acts as a separate button with text, image, or both
SfSwitch Toggle between two states with fully customizable appearance

Key features

Button

  • Text and background customization (TextTransform, LineBreakMode, TextColor, Background).
  • Icon support with ShowIcon and ImageSource, plus icon placement via ImageAlignment.
  • Predefined styles, rounded corners via CornerRadius, stroke customization (StrokeThickness), and visual state customization using the visual state manager.
  • Custom content support through the Content (DataTemplate) property.

.NET MAUI Button

CheckBox

  • Three-state checkbox (IsChecked supports true, false, and null indeterminate, enabled by IsThreeState).
  • State change notification via the StateChanged and StateChanging events.
  • Customize the check state, size, colors (such as TickColor, CheckedColor, UncheckedColor), corner radius, and label placement.

.NET MAUI CheckBox

Radio Button

  • Two-state radio button (IsChecked is true or false).
  • Group radio buttons in an SfRadioGroup so only one can be selected at a time; the group raises CheckedChanged to notify which button was selected.
  • State change notification via the StateChanged and StateChanging events.
  • Customize the check state, size, colors (such as CheckedColor, UncheckedColor), and label placement.

.NET MAUI Radio Button

Segmented Control

  • Segments display text, an image (SfSegmentItem.ImageSource), or both.
  • Selection notification via SelectionChanged and Tapped events, with SelectedIndex to get or set the selected segment.
  • Overflow handling with VisibleSegmentsCount, and programmatic scrolling with ScrollTo.
  • Enable or disable segments at run time using SetSegmentEnabled.
  • Customizable selection indicator (SelectionIndicatorSettings), corner radius, stroke, and segment spacing.

.NET MAUI Segmented Control

Switch

  • Smooth toggle between on and off states (IsOn), with an optional indeterminate state via AllowIndeterminateState.
  • State change notification via the StateChanged and StateChanging events.
  • Fully customizable thumb and track through SwitchSettings - including backgrounds, strokes, sizes, corner radii, and custom thumb/track images.

.NET MAUI Switch

All controls

  • Full styling support with built-in light and dark themes.
  • Right-to-left (RTL) support, localization, and accessibility.

Supported platforms

Platform Target framework
Android net9.0-android, net10.0-android
iOS net9.0-ios, net10.0-ios
macOS (Mac Catalyst) net9.0-maccatalyst, net10.0-maccatalyst
Windows net9.0-windows10.0.19041, net10.0-windows10.0.19041

Minimum OS versions follow the .NET MAUI supported platforms.


Installation

.NET CLI

dotnet add package Syncfusion.Maui.Buttons

Package Manager Console

Install-Package Syncfusion.Maui.Buttons

Getting started

1. Register the Syncfusion core handler

In MauiProgram.cs, call ConfigureSyncfusionCore():

using Syncfusion.Maui.Core.Hosting;

public static class MauiProgram
{
    public static MauiApp CreateMauiApp()
    {
        var builder = MauiApp.CreateBuilder();
        builder
            .UseMauiApp<App>()
            .ConfigureSyncfusionCore();

        return builder.Build();
    }
}

2. Add the controls to your page

<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:syncfusion="clr-namespace:Syncfusion.Maui.Buttons;assembly=Syncfusion.Maui.Buttons"
             x:Class="YourAppNamespace.MainPage">

    <VerticalStackLayout Spacing="20" Padding="20">

        <!-- Button -->
        <syncfusion:SfButton Text="Submit" />

        <!-- CheckBox -->
        <syncfusion:SfCheckBox Text="Accept terms and conditions" IsChecked="True" />

        <!-- RadioButton -->
        <syncfusion:SfRadioButton Text="Credit card" />
        <syncfusion:SfRadioButton Text="PayPal" />

        <!-- Switch -->
        <syncfusion:SfSwitch IsOn="True" />

        <!-- Segmented Control -->
        <syncfusion:SfSegmentedControl>
            <syncfusion:SfSegmentedControl.ItemsSource>
                <x:Array Type="{x:Type x:String}">
                    <x:String>Day</x:String>
                    <x:String>Week</x:String>
                    <x:String>Month</x:String>
                </x:Array>
            </syncfusion:SfSegmentedControl.ItemsSource>
        </syncfusion:SfSegmentedControl>

    </VerticalStackLayout>

</ContentPage>

Run the app on any supported platform to see the controls in action.


Common scenarios

Respond to state changes

SfSwitch, SfCheckBox, and SfRadioButton raise StateChanging and StateChanged events so you can validate or react to user interaction:

private void SfSwitch_StateChanged(object sender, SwitchStateChangedEventArgs e)
{
    // e.NewValue is the new switch state (e.OldValue holds the previous one).
}
<syncfusion:SfSwitch StateChanged="SfSwitch_StateChanged" />

SfSegmentedControl raises SelectionChanged when the selected segment changes:

private void SegmentedControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    // e.AddedItems[0] is the newly selected segment.
    // e.RemovedItems[0] is the previously selected segment.
}

Group radio buttons

Place radio buttons inside an SfRadioGroup so selecting one automatically deselects the others:

<syncfusion:SfRadioGroup>
    <syncfusion:SfRadioButton Text="Small" />
    <syncfusion:SfRadioButton Text="Medium" IsChecked="True" />
    <syncfusion:SfRadioButton Text="Large" />
</syncfusion:SfRadioGroup>

Add an icon to a button

Set ShowIcon to True and provide an ImageSource; use ImageAlignment to position it:

<syncfusion:SfButton Text="Download"
                     ShowIcon="True"
                     ImageSource="download.png"
                     ImageAlignment="Start" />

For more features, see the Button, CheckBox, RadioButton, Segmented Control, and Switch documentation.


Dependencies

Installing this package also installs the following packages:

  • Microsoft.Maui.Controls
  • Syncfusion.Maui.Core

Licensing

This is a commercial product and requires a paid license. You have three options:

Register your license key

Register the key in MauiProgram.cs before the app is built:

Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR_LICENSE_KEY");

For details, see Licensing overview. Use of this package is subject to the Syncfusion EULA.


Support and feedback


About Syncfusion®

Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion® has more than 26,000+ customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies.

Today, we provide 1600+ components and frameworks for web (Blazor, ASP.NET Core, ASP.NET MVC, ASP.NET WebForms, JavaScript, Angular, React, Vue, and Flutter), mobile (.NET MAUI, Xamarin, Flutter, UWP, and JavaScript), and desktop development (WinForms, WPF, WinUI, Flutter and UWP). We provide ready-to-deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software.


[email protected] | www.syncfusion.com | Toll Free: 1-888-9 DOTNET

Changes from Previous Version

No structural changes between v35.1.39 and v35.1.40.

Adoption Assessment

A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.

No SPDX license expression is published. Review the license text and your organisation's policy before redistribution.Compatibility metadata lists 10 target frameworks; confirm the exact target used by your application.The published metadata declares 20 direct dependency entries across framework groups. Inspect the resolved dependency graph for your target framework.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.