How to restrict the appointment editing (CRUD) operation in WinUI Scheduler (Calendar)
With the help of the AppointmentEditFlag property in the WinUI Scheduler, it is possible to manage various types of operations. The AppointmentEditFlag property options to use the fields as Add, Edit, Resize, DragDrop and None.
The AppointmentEditFlag properties will perform the built-in operations of add, edit, Resize, and DragDrop. It will disable all the functionality when it is set as None.
C#
Create a collection of Events for the Scheduler.
public SchedulerViewModel()
{
this.Events = new ScheduleAppointmentCollection();
var scheduleAppointment = new ScheduleAppointment()
{
StartTime = DateTime.Now,
EndTime = DateTime.Now.AddHours(1),
AppointmentBackground = new SolidColorBrush(Colors.Green),
Subject = "Conference",
};
Events.Add(scheduleAppointment);
}
XAML
Bind the appointments from the view model to a schedule by using the ItemsSource property, and bind the AppointmentEditFlag Enum values as the itemsource of the ComboBox to change the AppointmentEditFlag property at a runtime.
<Grid>
<Grid.DataContext>
<local:SchedulerViewModel/>
</Grid.DataContext>
<syncfusion:SfScheduler x:Name="scheduler"
ViewType="Week"
HeaderHeight="50"
ItemsSource="{Binding Events}"
AppointmentEditFlag="{Binding ElementName=AppointmentEditFlagComboBox, Path=SelectedValue,Mode=TwoWay}">
</syncfusion:SfScheduler>
<StackPanel Orientation="Horizontal"
HorizontalAlignment="Right"
VerticalAlignment="Top"
Margin="0,5,10,0">
<ComboBox x:Name="AppointmentEditFlagComboBox"
SelectedIndex="1" Width="100" Height="30" />
</StackPanel>
</Grid>

Take a moment to pursue the documentation. You can also find the options available for the AppointmentEditFlag property in Schedule.