Getting Started - MAUI DateTime Range Slider (SfDateTimeRangeSlider)

28 Mar 202314 minutes to read

This section explains the steps required to add the DateTime Range Slider control and its elements track, ticks, labels, and tooltip. This section covers only the basic features needed to know to get started with Syncfusion DateTime Range Slider.

To get start quickly with MAUI SfDateTimeRangeSlider, you can check on this video:

Creating an application with .NET MAUI

Create a new .NET MAUI application in Visual Studio.

Create MAUI Application

Adding SfDateTimeRangeSlider reference

The Syncfusion .NET MAUI components are available on nuget.org. To add the SfDateTimeRangeSlider to your project, open the NuGet package manager in the Visual Studio, search for the Syncfusion.Maui.Sliders, and install it.

Create MAUI Application

Handler registration

In the MauiProgram.cs file, register the handler for the Syncfusion core.

  • C#
  • using Microsoft.Maui;
    using Microsoft.Maui.Hosting;
    using Microsoft.Maui.Controls.Compatibility;
    using Microsoft.Maui.Controls.Hosting;
    using Microsoft.Maui.Controls.Xaml;
    using Syncfusion.Maui.Core.Hosting;
    
    namespace Slider
    {
        public static class MauiProgram
        {
            public static MauiApp CreateMauiApp()
            {
                var builder = MauiApp.CreateBuilder();
                builder
                .UseMauiApp<App>()
                .ConfigureSyncfusionCore()
                .ConfigureFonts(fonts =>
                {
                    fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
                });
    
                return builder.Build();
            }
        }
    }

    Initialize the range slider

    Import the SfDateTimeRangeSlider namespace and initialize the DateTime Range Slider as shown below.

    <ContentPage
        . . .
        xmlns:sliders="clr-namespace:Syncfusion.Maui.Sliders;assembly=Syncfusion.Maui.Sliders">
        <sliders:SfDateTimeRangeSlider Minimum="2010-01-01" 
                                       Maximum="2018-01-01" 
                                       RangeStart="2012-01-01" 
                                       RangeEnd="2016-01-01" />
    </ContentPage>
    using Syncfusion.Maui.Sliders;
    
    namespace RangeSlider
    {
        public partial class MainPage : ContentPage
        {
            public MainPage()
            {
                InitializeComponent();
                SfDateTimeRangeSlider rangeSlider = new SfDateTimeRangeSlider();
                rangeSlider.Minimum = new DateTime(2010, 01, 01);
                rangeSlider.Maximum = new DateTime(2018, 01, 01);
                rangeSlider.RangeStart = new DateTime(2012, 01, 01);
                rangeSlider.RangeEnd = new DateTime(2016, 01, 01);
                this.content = rangeSlider;
            }
        }
    }

    Initialize RangeSlider

    Enable labels

    The ShowLabels property enables the labels which render at given intervals.

    <sliders:SfDateTimeRangeSlider Minimum="2010-01-01" 
                                   Maximum="2018-01-01" 
                                   RangeStart="2012-01-01" 
                                   RangeEnd="2016-01-01"
                                   Interval="2" 
                                   ShowLabels="True">
    </sliders:SfDateTimeRangeSlider>
    SfDateTimeRangeSlider rangeSlider = new SfDateTimeRangeSlider();
    rangeSlider.Minimum = new DateTime(2010, 01, 01);
    rangeSlider.Maximum = new DateTime(2018, 01, 01);
    rangeSlider.RangeStart = new DateTime(2012, 01, 01);
    rangeSlider.RangeEnd = new DateTime(2016, 01, 01);
    rangeSlider.ShowLabels = true;
    rangeSlider.Interval = 2;

    RangeSlider labels

    Enable ticks

    The ShowTicks property enables the ticks, while the MinorTicksPerInterval property enables the minor ticks between the major ticks.

    <sliders:SfDateTimeRangeSlider Minimum="2010-01-01" 
                                   Maximum="2018-01-01" 
                                   RangeStart="2012-01-01" 
                                   RangeEnd="2016-01-01"                       
                                   Interval="2" 
                                   ShowLabels="True"
                                   ShowTicks="True"
                                   MinorTicksPerInterval="1">
    </sliders:SfDateTimeRangeSlider>
    SfDateTimeRangeSlider rangeSlider = new SfDateTimeRangeSlider();
    rangeSlider.Minimum = new DateTime(2010, 01, 01);
    rangeSlider.Maximum = new DateTime(2018, 01, 01);
    rangeSlider.RangeStart = new DateTime(2012, 01, 01);
    rangeSlider.RangeEnd = new DateTime(2016, 01, 01);
    rangeSlider.ShowLabels = true;
    rangeSlider.ShowTicks = true;
    rangeSlider.Interval = 2;
    rangeSlider.MinorTicksPerInterval = 1;

    RangeSlider ticks

    Orientation

    The Orientation property allows you to show the DateTime Range Slider in both horizontal and vertical directions. The default value of the Orientation property is Horizontal.

    <sliders:SfDateTimeRangeSlider Minimum="2010-01-01" 
                                   Maximum="2018-01-01" 
                                   RangeStart="2012-01-01" 
                                   RangeEnd="2016-01-01"
                                   ShowTicks="True" 
                                   ShowLabels="True"
                                   Interval="2" 
                                   MinorTicksPerInterval="1" 
                                   Orientation="Vertical">
    </sliders:SfDateTimeRangeSlider>
    SfDateTimeRangeSlider rangeSlider = new SfDateTimeRangeSlider();
    rangeSlider.Orientation = SliderOrientation.Vertical;
    rangeSlider.Minimum = new DateTime(2010, 01, 01);
    rangeSlider.Maximum = new DateTime(2018, 01, 01);
    rangeSlider.RangeStart = new DateTime(2012, 01, 01);
    rangeSlider.RangeEnd = new DateTime(2016, 01, 01);
    rangeSlider.ShowLabels = true;
    rangeSlider.ShowTicks = true;
    rangeSlider.Interval = 2;
    rangeSlider.MinorTicksPerInterval = 1;

    RangeSlider orientation

    Inverse the slider

    Invert the DateTime Range Slider using the IsInversed property. The default value of the IsInversed property is False.

    <sliders:SfDateTimeRangeSlider Minimum="2010-01-01" 
                                   Maximum="2018-01-01" 
                                   RangeStart="2012-01-01" 
                                   RangeEnd="2016-01-01"
                                   Interval="2" 
                                   ShowTicks="True"
                                   ShowLabels="True"  
                                   MinorTicksPerInterval="1" 
                                   IsInversed="True">
    </sliders:SfDateTimeRangeSlider>
    SfDateTimeRangeSlider rangeSlider = new SfDateTimeRangeSlider();
    rangeSlider.Minimum = new DateTime(2010, 01, 01);
    rangeSlider.Maximum = new DateTime(2018, 01, 01);
    rangeSlider.RangeStart = new DateTime(2012, 01, 01);
    rangeSlider.RangeEnd = new DateTime(2016, 01, 01);
    rangeSlider.Interval = 2;
    rangeSlider.ShowLabels = true;
    rangeSlider.ShowTicks = true;
    rangeSlider.MinorTicksPerInterval = 1;
    rangeSlider.IsInversed = true;

    Inverse range slider

    Formatting labels

    Add prefix or suffix to the labels using the DateFormat property.

    <sliders:SfDateTimeRangeSlider Minimum="2010-01-01"
                                   Maximum="2011-01-01"
                                   RangeStart="2010-04-01"
                                   RangeEnd="2010-10-01"
                                   DateFormat="MMM"
                                   IntervalType="Months"
                                   ShowTicks="True"
                                   MinorTicksPerInterval="1"
                                   ShowLabels="True"
                                   Interval="2">
    </sliders:SfDateTimeRangeSlider>
    SfDateTimeRangeSlider rangeSlider = new SfDateTimeRangeSlider();
    rangeSlider.Minimum = new DateTime(2010, 01, 01);
    rangeSlider.Maximum = new DateTime(2011, 01, 01);
    rangeSlider.RangeStart = new DateTime(2010, 04, 01);
    rangeSlider.RangeEnd = new DateTime(2010, 10, 01);
    rangeSlider.ShowLabels = true;
    rangeSlider.Interval = 2;
    rangeSlider.ShowTicks = true;
    rangeSlider.MinorTicksPerInterval = 1;
    rangeSlider.DateFormat = "MMM";
    rangeSlider.IntervalType = SliderDateIntervalType.Months;

    RangeSlider label format