Getting started with .NET MAUI Smart Scheduler

29 Dec 202518 minutes to read

This section explains how to add the smart scheduler as well as the essential aspects for getting started with the smart Scheduler and also provides a walk-through to configure the .NET MAUI Smart Scheduler control in a real-time scenario. Follow the steps below to add a .NET Smart Scheduler control to your project.

Prerequisites

Before proceeding, ensure the following are set up:

  1. Install .NET SDK
  2. Set up a .NET MAUI Environment with Visual Studio. Supported Visual Studio Versions:
    • Visual Studio 2022: Version 17.13 or later (e.g., 17.14.7) for .NET 9 development.
    • Visual Studio 2026: Required for .NET 10 development.

Step 1: Create a New .NET MAUI Project

  1. Go to File > New > Project and choose the .NET MAUI App template.
  2. Name the project and choose a location. Then click Next.
  3. Select the .NET framework version and click Create.

Step 2: Install the Syncfusion® .NET MAUI SmartComponents NuGet Package

  1. In Solution Explorer, right-click the project and choose Manage NuGet Packages.
  2. Search for Syncfusion.Maui.SmartComponents and install the latest version.
  3. Ensure the necessary dependencies are installed correctly, and the project is restored.

Step 3: Register the handler

The Syncfusion.Maui.Core NuGet is a dependent package for all Syncfusion® controls of .NET MAUI. In the MauiProgram.cs file, register the handler for Syncfusion® core.

using Syncfusion.Maui.Core.Hosting;
namespace GettingStarted
{
    public static class MauiProgram
    {
        public static MauiApp CreateMauiApp()
        {
            var builder = MauiApp.CreateBuilder();

            builder.ConfigureSyncfusionCore();
            builder
            .UseMauiApp<App>()
            .ConfigureFonts(fonts =>
            {
                fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
            });

            return builder.Build();
        }
    }
}

Step 4: Register the AI Service

To configure the AI services, you must call the ConfigureSyncfusionAIServices() method in the MauiProgram.cs file.

  • 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.SmartComponents.Hosting;
    
    namespace GettingStarted
    {
        public class MauiProgram
        {
            public static MauiApp CreateMauiApp()
            {
                var builder = MauiApp.CreateBuilder();
                builder
                    .UseMauiApp<App>()
                    .ConfigureFonts(fonts =>
                    {
                        fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
                    });
    
                string key = "<MENTION-YOUR-KEY>";
                Uri azureEndPoint = new Uri("<MENTION-YOUR-URL>");
                string deploymentName = "<MENTION-YOUR-DEPLOYMENT-NAME>";
    
                // Shows how to configure Azure AI service to the Smart Components.
                AzureOpenAIClient azureOpenAIClient = new AzureOpenAIClient(azureEndPoint, new AzureKeyCredential(key));
                IChatClient azureChatClient = azureOpenAIClient.GetChatClient(deploymentName).AsIChatClient();
    
                builder.Services.AddChatClient(azureChatClient);
                builder.ConfigureSyncfusionAIServices();
    
                return builder.Build();
            }
        }
    }

    NOTE

    • You can refer to Configure Chat Client for services like Azure, OpenAI, and Ollama.
    • You can also refer to the Custom AI Service section to configure your own services, such as Claude, Gemini, DeepSeek, Groq, etc.
    • If you are using a custom AI service, there is no need to register ConfigureSyncfusionAIServices() in MauiProgram.

    Step 5: Add .NET MAUI Smart Scheduler control

    1. To initialize the control, import the Syncfusion.Maui.SmartComponents namespace into your code.
    2. Initialize SfSmartScheduler.
    <ContentPage   
        . . .
        xmlns:smartScheduler="clr-namespace:Syncfusion.Maui.SmartComponents;assembly=Syncfusion.Maui.SmartComponents">
    
        <smartScheduler:SfSmartScheduler />
    </ContentPage>
    using Syncfusion.Maui.SmartComponents;
    . . .
    
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
            SfSmartScheduler smartScheduler = new SfSmartScheduler();
            this.Content = smartScheduler;
        }
    }

    Prerequisites

    Before proceeding, ensure the following are set up:

    1. Install .NET 9 SDK or later is installed.
    2. Set up a .NET MAUI environment with Visual Studio Code.
    3. Ensure that the .NET MAUI extension is installed and configured as described here.

    Step 1: Create a New .NET MAUI Project

    1. Open the command palette by pressing Ctrl+Shift+P and type .NET:New Project and enter.
    2. Choose the .NET MAUI App template.
    3. Select the project location, type the project name and press Enter.
    4. Then choose Create project.

    Step 2: Install the Syncfusion® .NET MAUI SmartComponents NuGet Package

    1. Press Ctrl + ` (backtick) to open the integrated terminal in Visual Studio Code.
    2. Ensure you’re in the project root directory where your .csproj file is located.
    3. Run the command dotnet add package Syncfusion.Maui.SmartComponents to install the Syncfusion® .NET MAUI SmartComponents NuGet package.
    4. To ensure all dependencies are installed, run dotnet restore.

    Step 3: Register the handler

    The Syncfusion.Maui.Core NuGet is a dependent package for all Syncfusion® controls of .NET MAUI. In the MauiProgram.cs file, register the handler for Syncfusion® core.

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

    Step 4: Register the AI Service

    To configure the AI services, you must call the ConfigureSyncfusionAIServices() method in the MauiProgram.cs file.

  • 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.SmartComponents.Hosting;
    
    namespace GettingStarted
    {
        public class MauiProgram
        {
            public static MauiApp CreateMauiApp()
            {
                var builder = MauiApp.CreateBuilder();
                builder
                    .UseMauiApp<App>()
                    .ConfigureFonts(fonts =>
                    {
                        fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
                    });
    
                string key = "<MENTION-YOUR-KEY>";
                Uri azureEndPoint = new Uri("<MENTION-YOUR-URL>");
                string deploymentName = "<MENTION-YOUR-DEPLOYMENT-NAME>";
    
                // Shows how to configure Azure AI service to the Smart Components.
                AzureOpenAIClient azureOpenAIClient = new AzureOpenAIClient(azureEndPoint, new AzureKeyCredential(key));
                IChatClient azureChatClient = azureOpenAIClient.GetChatClient(deploymentName).AsIChatClient();
    
                builder.Services.AddChatClient(azureChatClient);
                builder.ConfigureSyncfusionAIServices();
    
                return builder.Build();
            }
        }
    }

    NOTE

    • You can refer to Configure Chat Client for services like Azure, OpenAI, and Ollama.
    • You can also refer to the Custom AI Service section to configure your own services, such as Claude, Gemini, DeepSeek, Groq, etc.
    • If you are using a custom AI service, there is no need to register ConfigureSyncfusionAIServices() in MauiProgram.

    Step 5: Add .NET MAUI Smart Scheduler control

    1. To initialize the control, import the Syncfusion.Maui.SmartComponents namespace into your code.
    2. Initialize SfSmartScheduler.
    <ContentPage   
        . . .
        xmlns:smartScheduler="clr-namespace:Syncfusion.Maui.SmartComponents;assembly=Syncfusion.Maui.SmartComponents">
    
        <smartScheduler:SfSmartScheduler />
    </ContentPage>
    using Syncfusion.Maui.SmartComponents;
    . . .
    
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
            SfSmartScheduler smartScheduler = new SfSmartScheduler();
            this.Content = smartScheduler;
        }
    }

    Prerequisites

    Before proceeding, ensure the following are set up:

    1. Ensure you have the latest version of JetBrains Rider.
    2. Install .NET 9 SDK or later is installed.
    3. Make sure the MAUI workloads are installed and configured as described here.

    Step 1: Create a new .NET MAUI Project

    1. Go to File > New Solution, Select .NET (C#) and choose the .NET MAUI App template.
    2. Enter the Project Name, Solution Name, and Location.
    3. Select the .NET framework version and click Create.

    Step 2: Install the Syncfusion® .NET MAUI SmartComponents NuGet Package

    1. In Solution Explorer, right-click the project and choose Manage NuGet Packages.
    2. Search for Syncfusion.Maui.SmartComponents and install the latest version.
    3. Ensure the necessary dependencies are installed correctly, and the project is restored. If not, Open the Terminal in Rider and manually run: dotnet restore

    Step 3: Register the handler

    The Syncfusion.Maui.Core NuGet is a dependent package for all Syncfusion® controls of .NET MAUI. In the MauiProgram.cs file, register the handler for Syncfusion® core.

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

    Step 4: Register the AI Service

    To configure the AI services, you must call the ConfigureSyncfusionAIServices() method in the MauiProgram.cs file.

  • 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.SmartComponents.Hosting;
    
    namespace GettingStarted
    {
        public class MauiProgram
        {
            public static MauiApp CreateMauiApp()
            {
                var builder = MauiApp.CreateBuilder();
                builder
                    .UseMauiApp<App>()
                    .ConfigureFonts(fonts =>
                    {
                        fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
                    });
    
                string key = "<MENTION-YOUR-KEY>";
                Uri azureEndPoint = new Uri("<MENTION-YOUR-URL>");
                string deploymentName = "<MENTION-YOUR-DEPLOYMENT-NAME>";
    
                // Shows how to configure Azure AI service to the Smart Components.
                AzureOpenAIClient azureOpenAIClient = new AzureOpenAIClient(azureEndPoint, new AzureKeyCredential(key));
                IChatClient azureChatClient = azureOpenAIClient.GetChatClient(deploymentName).AsIChatClient();
    
                builder.Services.AddChatClient(azureChatClient);
                builder.ConfigureSyncfusionAIServices();
    
                return builder.Build();
            }
        }
    }

    NOTE

    • You can refer to Configure Chat Client for services like Azure, OpenAI, and Ollama.
    • You can also refer to the Custom AI Service section to configure your own services, such as Claude, Gemini, DeepSeek, Groq, etc.
    • If you are using a custom AI service, there is no need to register ConfigureSyncfusionAIServices() in MauiProgram.

    Step 5: Add .NET MAUI Smart Scheduler control

    1. To initialize the control, import the Syncfusion.Maui.SmartComponents namespace into your code.
    2. Initialize SfSmartScheduler.
    <ContentPage
        . . .
        xmlns:smartScheduler="clr-namespace:Syncfusion.Maui.SmartComponents;assembly=Syncfusion.Maui.SmartComponents">
    
        <smartScheduler:SfSmartScheduler />
    </ContentPage>
    using Syncfusion.Maui.SmartComponents;
    . . .
    
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
            SfSmartScheduler smartScheduler = new SfSmartScheduler();
            this.Content = smartScheduler;
        }
    }

    Step 6: Running the Application

    Press F5 to build and run the application. Once compiled, the Smart Scheduler will be displayed, and AI-powered features will be available after configuration.

    .NET MAUI AI-Powered Scheduler.

    NOTE

    You can refer to our .NET MAUI Smart Scheduler feature tour page for its groundbreaking feature representations. You can also explore our .NET MAUI Smart Scheduler Example that shows you how to render the Smart Scheduler in .NET MAUI.