Getting Started with .NET MAUI DateTime Slider (SfDateTimeSlider)

13 Feb 202312 minutes to read

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

To get start quickly with MAUI SfDateTimeSlider, 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 SfDateTimeSlider reference

The Syncfusion .NET MAUI components are available in nuget.org. To add the SfDateTimeSlider 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 SliderGettingStarted
    {
        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 DateTimeSlider

    Import the SfDateTimeSlider namespace and initialize the DateTime Slider as shown below.

    <ContentPage
        . . .
                 xmlns:sliders="clr-namespace:Syncfusion.Maui.Sliders;assembly=Syncfusion.Maui.Sliders">
        <Grid>
            <sliders:SfDateTimeSlider Minimum="2010-01-01"
                                      Maximum="2018-01-01"
                                      Value="2014-01-01" />
        </Grid>
    </ContentPage>
    using Syncfusion.Maui.Sliders;
    
    namespace SliderGettingStarted
    {
        public partial class MainPage : ContentPage
        {
            public MainPage()
            {
                InitializeComponent();
                SfDateTimeSlider slider = new SfDateTimeSlider();
                slider.Minimum = new DateTime(2010, 01, 01);
                slider.Maximum = new DateTime(2018, 01, 01);
                slider.Value = new DateTime(2014, 01, 01);
                this.content = slider;
            }
        }
    }

    Initialize slider

    Enable labels

    The ShowLabels property enables the labels which renders on given interval.

    <sliders:SfDateTimeSlider Minimum="2010-01-01"
                              Maximum="2018-01-01"
                              Value="2014-01-01"
                              ShowLabels="True"
                              Interval="2" />
    SfDateTimeSlider slider = new SfDateTimeSlider();
    slider.Minimum = new DateTime(2010, 01, 01);
    slider.Maximum = new DateTime(2018, 01, 01);
    slider.Value = new DateTime(2014, 01, 01);
    slider.ShowLabels = true;
    slider.Interval = 2;

    Slider labels

    Enable ticks

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

    <sliders:SfDateTimeSlider Minimum="2010-01-01"
                              Maximum="2018-01-01"
                              Value="2014-01-01"
                              ShowLabels="True"
                              ShowTicks="True"
                              Interval="2"
                              MinorTicksPerInterval="1" />
    SfDateTimeSlider slider = new SfDateTimeSlider()
    {
        Minimum = new DateTime(2010, 01, 01),
        Maximum = new DateTime(2018, 01, 01),
        Value = new DateTime(2014, 01, 01),
        Interval = 2,
        ShowLabels = true,
        ShowTicks = true,
        MinorTicksPerInterval = 1,
    };

    Slider ticks

    Orientation

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

    <sliders:SfDateTimeSlider Orientation="Vertical"
                              Minimum="2010-01-01"
                              Maximum="2018-01-01"
                              Value="2014-01-01"
                              ShowLabels="True"
                              ShowTicks="True"
                              Interval="2"
                              MinorTicksPerInterval="1" />
    SfDateTimeSlider slider = new SfDateTimeSlider();
    slider.Orientation = SliderOrientation.Vertical;
    slider.Minimum = new DateTime(2010, 01, 01);
    slider.Maximum = new DateTime(2018, 01, 01);
    slider.Value = new DateTime(2014, 01, 01);
    slider.ShowLabels = true;
    slider.Interval = 2;
    slider.ShowTicks = true;
    slider.MinorTicksPerInterval = 1;

    Slider orientation

    Inverse the slider

    Invert the slider using the IsInversed property. The default value of the IsInversed property is False.

    <sliders:SfDateTimeSlider Minimum="2010-01-01"
                              Maximum="2018-01-01"
                              Value="2014-01-01"
                              IsInversed="True"
                              ShowLabels="True"
                              ShowTicks="True"
                              Interval="2"
                              MinorTicksPerInterval="1" />
    SfDateTimeSlider slider = new SfDateTimeSlider();
    slider.Minimum = new DateTime(2010, 01, 01);
    slider.Maximum = new DateTime(2018, 01, 01);
    slider.Value = new DateTime(2014, 01, 01);
    slider.IsInversed = true;
    slider.ShowLabels = true;
    slider.Interval = 2;
    slider.ShowTicks = true;
    slider.MinorTicksPerInterval = 1;

    Inverse slider

    Formatting labels

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

    <sliders:SfDateTimeSlider Minimum="2010-01-01"
                              Maximum="2011-01-01"
                              Value="2010-07-01"
                              DateFormat="MMM"
                              IntervalType="Months"
                              ShowTicks="True"
                              MinorTicksPerInterval="1"
                              ShowLabels="True"
                              Interval="2" />
    SfDateTimeSlider slider = new SfDateTimeSlider()
    {
        Minimum = new DateTime(2010, 01, 01),
        Maximum = new DateTime(2011, 01, 01),
        Value = new DateTime(2010, 07, 01),
        Interval = 2,
        ShowLabels = true,
        ShowTicks = true,
        MinorTicksPerInterval = 1,
        DateFormat = "MMM",
        IntervalType = SliderDateIntervalType.Months,
    };

    Slider label format