Plugin.SegmentedControl.Maui 1.4.9-pre

This is a prerelease version of Plugin.SegmentedControl.Maui.
dotnet add package Plugin.SegmentedControl.Maui --version 1.4.9-pre                
NuGet\Install-Package Plugin.SegmentedControl.Maui -Version 1.4.9-pre                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Plugin.SegmentedControl.Maui" Version="1.4.9-pre" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Plugin.SegmentedControl.Maui --version 1.4.9-pre                
#r "nuget: Plugin.SegmentedControl.Maui, 1.4.9-pre"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Plugin.SegmentedControl.Maui as a Cake Addin
#addin nuget:?package=Plugin.SegmentedControl.Maui&version=1.4.9-pre&prerelease

// Install Plugin.SegmentedControl.Maui as a Cake Tool
#tool nuget:?package=Plugin.SegmentedControl.Maui&version=1.4.9-pre&prerelease                

SegmentedControl for .NET MAUI

Version Downloads

This library provides a segmented control for .NET MAUI apps using native platform APIs.

Download and Install Plugin.SegmentedControl.Maui

This library is available on NuGet: Plugin.SegmentedControl.Maui
Use the following command to install Plugin.SegmentedControl.Maui using the NuGet package manager console:

PM> Install-Package Plugin.SegmentedControl.Maui

You can use this library in any .NET MAUI project compatible with .NET 8 and higher.

App Setup

This plugin provides an extension method for MauiAppBuilder called UseSegmentedControl, which ensures proper startup and initialization.
Call this method within your MauiProgram just as demonstrated in the SegmentedControlDemoApp:

var builder = MauiApp.CreateBuilder()
    .UseMauiApp<App>()
    .UseSegmentedControl();

API Usage

The SegmentedControl class provides several properties to customize its behavior and appearance. Below is a table detailing each property and its purpose.

Properties Description
AutoDisconnectHandler Indicates whether the platform handler disconnects automatically. Default is true.
Children A list of SegmentedControlOption objects representing each segment.
ItemsSource The source of data for generating segments.
TextPropertyName The name of the property to use for the segment's text when using a non-string ItemsSource.
TextColor The color of the segment text. Default is Colors.Black.
TintColor The color used to tint the control. Default is Colors.Blue.
SelectedTextColor The color of the selected segment's text. Default is Colors.White.
DisabledBackgroundColor The background color of the control when disabled. Default is Colors.Gray.
DisabledTintColor The tint color of the control when disabled. Default is Colors.Gray.
DisabledTextColor The text color of the segments when the control is disabled. Default is Colors.Gray.
DisabledSelectedTextColor The text color of the selected segment when the control is disabled. Default is Colors.LightGray.
BorderColor The color of the control's border. Defaults to the value of TintColor.
BorderWidth The width of the control's border. Varies by platform; 1.0 on Android and 0.0 on others.
SelectedSegment The index of the currently selected segment. Default is 0.
SelectedItem The currently selected item from the ItemsSource.
SegmentSelectedCommand Command that is executed when a segment is selected.
SegmentSelectedCommandParameter Parameter passed to the SegmentSelectedCommand.
FontSize The size of the font used for the segment text.
FontFamily The font family used for the segment text.
FontAttributes Font attributes for the segment text, such as bold or italic.

Contribution

Contributors welcome! If you find a bug or want to propose a new feature, feel free to do so by opening a new issue on GitHub.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-android34.0 is compatible.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-ios17.0 is compatible.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.4.9-pre 34 11/20/2024
1.4.7-pre 56 11/14/2024
1.4.6-pre 92 11/11/2024
1.4.4 218 10/2/2024
1.3.25-pre 80 10/1/2024
1.3.23-pre 63 10/1/2024
1.3.22-pre 63 9/30/2024
1.3.18-pre 73 9/26/2024
1.3.16 158 9/14/2024
1.3.14-pre 76 9/10/2024
1.3.13-pre 83 9/10/2024
1.3.10-pre 88 9/5/2024
1.3.8-pre 65 9/1/2024
1.3.7 160 8/12/2024
1.3.3-pre 103 8/12/2024
1.3.2-pre 106 8/8/2024
1.3.1-pre 82 8/1/2024
1.2.19 112 7/24/2024
1.0.18 104 7/16/2024
1.0.14 106 7/10/2024
1.0.8 90 7/5/2024

1.4
- Improved handling for automatic disconnect handler logic.
- Fix for Android segmented control stroke sizes.

1.3
- Bug fixes.
- Add support for AppShell apps.

1.2
- Children property is no longer public; use ItemsSource instead.
- Improved error handling in SegmentedControlOption.
- Several bug fixes and internal refactorings.

1.1
- Add new properties FontFamily, FontSize, FontAttributes.

1.0
- Initial release.