Xtreme.Components.Scheduler 0.1.0-preview.4

This is a prerelease version of Xtreme.Components.Scheduler.
dotnet add package Xtreme.Components.Scheduler --version 0.1.0-preview.4
                    
NuGet\Install-Package Xtreme.Components.Scheduler -Version 0.1.0-preview.4
                    
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="Xtreme.Components.Scheduler" Version="0.1.0-preview.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Xtreme.Components.Scheduler" Version="0.1.0-preview.4" />
                    
Directory.Packages.props
<PackageReference Include="Xtreme.Components.Scheduler" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Xtreme.Components.Scheduler --version 0.1.0-preview.4
                    
#r "nuget: Xtreme.Components.Scheduler, 0.1.0-preview.4"
                    
#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.
#:package Xtreme.Components.Scheduler@0.1.0-preview.4
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Xtreme.Components.Scheduler&version=0.1.0-preview.4&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Xtreme.Components.Scheduler&version=0.1.0-preview.4&prerelease
                    
Install as a Cake Tool

Xtreme.Components.Scheduler

A scheduler / calendar control for Uno Platform built from WinUI primitives only: no WebView, no third-party license. Part of Xtreme.Components.

Full guide: docs/scheduler.md covers every option with samples.

Features

  • Five views: Day, Week, Month, Agenda, and a multi-resource Planner with a two-tier header that flips between resource→day and day→resource (GroupMode).
  • Interaction: click-select and multi-select, double-click edit requests, right-click context requests, drag-to-move (including cross-resource), drag-the-edge-to-resize, and double-click/drag-to-create, all reported as events in every view where they apply. The control never mutates your data and ships no editor or menu: the host owns those.
  • External drag-drop: drop items from an outside surface (an unscheduled queue, say) onto a slot via ISchedulerDroppable.
  • Per-resource time zones (Planner): a lane whose resource sets ResourceModel.TimeZoneId (IANA) reads its appointments as UTC and shows that zone's wall-clock.
  • Data-driven: all-day and multi-day spanning events, overlap column-splitting, recurring-event indicators, configurable time increments, read-only mode, templatable appointment tiles, light and dark palette.

Quick start

<Page xmlns:scheduler="using:Xtreme.Components.Scheduler.Controls">
    <scheduler:SchedulerControl x:Name="Scheduler" CurrentView="Week" />
</Page>
using Xtreme.Components.Scheduler.Models;

Scheduler.SchedulerResources = new[]
{
    new ResourceModel { Id = 1, Name = "Alex",   Color = Colors.RoyalBlue },
    new ResourceModel { Id = 2, Name = "Bailey", Color = Colors.SeaGreen },
};

Scheduler.Appointments = new[]
{
    new AppointmentModel
    {
        Id = 100,
        Subject = "Install",
        Start = DateTime.Today.AddHours(9),
        End   = DateTime.Today.AddHours(11),
        ResourceIds = { 1 },
    },
};

Scheduler.AppointmentMoveRequested   += (_, e) => { /* persist e.NewStart / e.ToResourceId */ };
Scheduler.AppointmentResizeRequested += (_, e) => { /* persist e.NewStart / e.NewEnd */ };
Scheduler.AppointmentCreateRequested += (_, e) => { /* create at e.Start / e.ResourceId */ };
Scheduler.ExternalAppointmentDropped += (_, e) => { /* create from e.Item at e.Start */ };
Scheduler.AppointmentEditRequested   += (_, e) => { /* open your editor for e.Appointment */ };

Public surface

Member Purpose
Appointments The events to display (read-only input).
SchedulerResources Resource lanes / grouping keys (named to avoid FrameworkElement.Resources).
CurrentView Day / Week / Month / Agenda / Planner.
SelectedDate The anchor date the view is built around.
GroupMode Resource header hierarchy (Day, Week, Planner): ByResource or ByDay.
TimeIncrement Major/minor ticks and pixels-per-minute.
IsReadOnly Suppresses editing gestures; selection, edit requests and right-click still work.
AppointmentMoveRequested / …ResizeRequested / …CreateRequested User edits.
ExternalAppointmentDropped An ISchedulerDroppable dropped on a slot.
AppointmentEditRequested / AppointmentContextRequested Double-click / right-click on an appointment.

Only a Planner lane whose resource sets TimeZoneId converts times (treating them as UTC and showing that zone's wall-clock). Every other view and lane draws Start/End exactly as given, so pass local times unless you use per-resource zones. See the guide's Data section.

Targets net10.0 only; the consuming Uno head supplies the renderer. MIT license.

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

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Xtreme.Components.Scheduler:

Package Downloads
Xtreme.Components

Every Xtreme.Components family in one reference: Core, Primitives, Scheduler, Docking, Cards and TableView. App-agnostic, primitive-only Uno Platform controls for Desktop, Android, iOS and WebAssembly.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-preview.4 86 10/15/2026
0.1.0-preview.3 62 10/14/2026
0.1.0-preview.2 69 10/14/2026
0.1.0-preview.1 57 10/14/2026