Articles in this section

How to add multiple span appointments in the WinUI Scheduler (Calendar)

Add the multiple span appointments to the WinUI Scheduler by defining the appointment at the same time.

Please refer to the user guide documentation for the spanned appointment.

C#

Multiple span appointments are added at the same time in the ViewModel.

public class SchedulerViewModel : INotifyPropertyChanged
{
    private ObservableCollection<Meeting> meetings;
    private List<string> currentDayMeetings;
    public SchedulerViewModel()
    {
        this.Meetings = new ObservableCollection<Meeting>();
        this.AddAppointmentDetails();
        this.AddAppointments();
    }
    public ObservableCollection<Meeting> Meetings
    { 
        get
        {
            return this.meetings;
        }
 
        set
        {
            this.meetings = value;
            this.RaiseOnPropertyChanged("Meetings");
        }
    }
    private void AddAppointmentDetails()
    {
        this.currentDayMeetings = new List<string>();
        this.currentDayMeetings.Add("General Meeting");
        this.currentDayMeetings.Add("Plan Execution");
        this.currentDayMeetings.Add("Project Plan");
        this.currentDayMeetings.Add("Consulting");
        this.currentDayMeetings.Add("Support");
        this.currentDayMeetings.Add("Development Meeting");
        this.currentDayMeetings.Add("Scrum");
        this.currentDayMeetings.Add("Project Completion");
        this.currentDayMeetings.Add("Release updates");
        this.currentDayMeetings.Add("Performance Check");
    }
    private void AddAppointments()
    {
        var today = DateTime.Now.Date;
        var random = new Random();
        var meeting = new Meeting();
        meeting.From = today;
        meeting.To = meeting.From.AddDays(2).AddHours(1);
        meeting.EventName = this.currentDayMeetings[random.Next(7)];
        this.Meetings.Add(meeting);
 
        var meeting1 = new Meeting();
        meeting1.From = today;
        meeting1.To = meeting1.From.AddDays(1).AddHours(3);
        meeting1.EventName = this.currentDayMeetings[random.Next(7)];
        this.Meetings.Add(meeting1);
    }
    public event PropertyChangedEventHandler PropertyChanged;
    private void RaiseOnPropertyChanged(string propertyName)
    {
        this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
    }
}

XAML

Bind the appointments to the Schedule.ItemSource.

<scheduler:SfScheduler x:Name="Schedule"
                    ViewType="Week" 
                    ItemsSource="{Binding Meetings}">
    <scheduler:SfScheduler.AppointmentMapping>
        <scheduler:AppointmentMapping StartTime="From"
                                EndTime="To"
                                Subject="EventName"
                            />
    </scheduler:SfScheduler.AppointmentMapping>
</scheduler:SfScheduler>

Add multi span appointments in the WinUI Scheduler

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Access denied
Access denied