Class ViewSettingsBase
Represents a class which is used to configure the properties of all schedule views.
Implements
Namespace: Syncfusion.UI.Xaml.Scheduler
Assembly: Syncfusion.Scheduler.WinUI.dll
Syntax
public abstract class ViewSettingsBase : Object, IDisposableConstructors
ViewSettingsBase()
Declaration
protected ViewSettingsBase()Properties
AppointmentTemplate
Gets or sets the appointment template to change the default UI of appointment.
Declaration
public DataTemplate AppointmentTemplate { get; set; }Property Value
| Type | 
|---|
| Microsoft.UI.Xaml.DataTemplate | 
Remarks
By default, the ScheduleAppointment is set as the DataContext for AppointmentTemplate for both ScheduleAppointment and custom data object in ItemsSource. Custom data object can be bound in AppointmentTemplate by using Data.
Examples
The following sample used to configure the custom appointments and appointment template.
#[Model.cs](#tab/tabid-1)public class Meeting
{
    public string EventName { get; set; }
    public DateTime From { get; set; }
    public DateTime To { get; set; }
    public Brush BackgroundBrush { get; set; }
}var customAppointments = new ObservableCollection<Meeting>();
var meeting = new Meeting()
{
   EventName = "General Meeting",
    From = new DateTime(2020, 11, 25, 09, 0, 0),
   To = new DateTime(2020, 11, 25, 10, 0, 0),
   BackgroundBrush = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FFA2C139")),
};
customAppointments.Add(meeting);
this.scheduler.ItemsSource = this.CustomAppointments;<Window.Resources>
    <DataTemplate x:Key="appointmentTemplate">
        <StackPanel Background = "{Binding Data.BackgroundBrush}"
               VerticalAlignment="Stretch"
               HorizontalAlignment="Stretch">
            <TextBlock
                Text = "{Binding Data.EventName}"
                VerticalAlignment="Center"
                TextTrimming="CharacterEllipsis"
                TextWrapping="Wrap"
                TextAlignment="Left"/>
        </StackPanel>
    </DataTemplate>
</Window.Resources>
<syncfusion:SfScheduler x:Name="scheduler">
<syncfusion:SfScheduler.DaysViewSettings>
<syncfusion:DaysViewSettings AppointmentTemplate = "{StaticResource appointmentTemplate}" />
</ syncfusion:SfScheduler.DaysViewSettings>
<syncfusion:SfScheduler.TimelineViewSettings>
<syncfusion:TimelineViewSettings AppointmentTemplate = "{StaticResource appointmentTemplate}" />
</ syncfusion:SfScheduler.TimelineViewSettings>
<syncfusion:SfScheduler.MonthViewSettings>
<syncfusion:MonthViewSettings AppointmentTemplate = "{StaticResource appointmentTemplate}" />
</ syncfusion:SfScheduler.MonthViewSettings>
<syncfusion:SfScheduler.AppointmentMapping>
<syncfusion:AppointmentMapping
Subject = "EventName"
StartTime="From"
EndTime="To"
AppointmentBackground="BackgroundBrush"/>
</syncfusion:SfScheduler.AppointmentMapping>
</syncfusion:SfScheduler>
AppointmentTemplateSelector
Gets or sets the appointment template selectors to change the default UI of appointment based on condition.
Declaration
public DataTemplateSelector AppointmentTemplateSelector { get; set; }Property Value
| Type | 
|---|
| Microsoft.UI.Xaml.Controls.DataTemplateSelector | 
Remarks
By default, the ScheduleAppointment is set as the DataContext for AppointmentTemplateSelector for both ScheduleAppointment and custom data object in ItemsSource.
Custom data object can be bound in AppointmentTemplateSelector by using Data.
Examples
The following sample used to configure the custom appointments and appointment template selector.
#[Model.cs](#tab/tabid-4)public class Meeting
{
    public string EventName { get; set; }
    public DateTime From { get; set; }
    public DateTime To { get; set; }
    public Brush BackgroundBrush { get; set; }
}public class DataTemplateSelectorHelper : DataTemplateSelector
{
    public DataTemplate AppointmentTemplate { get; set; }
    public DataTemplate AllDayAppointmentTemplate { get; set; }
    public override DataTemplate SelectTemplate(object item, DependencyObject container)
    {
        if ((item as ScheduleAppointment).IsAllDay)
        {
           return AllDayAppointmentTemplate;
        }
        return AppointmentTemplate;
    }
}var customAppointments = new ObservableCollection<Meeting>();
var meeting = new Meeting()
{
   EventName = "General Meeting",
    From = new DateTime(2020, 11, 25, 09, 0, 0),
   To = new DateTime(2020, 11, 25, 10, 0, 0),
   BackgroundBrush = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FFA2C139")),
};
customAppointments.Add(meeting);
this.scheduler.ItemsSource = this.CustomAppointments;<Window.Resources>
    <DataTemplate x:Key="appointmentTemplate">
        <StackPanel Background = "{Binding Data.BackgroundBrush}"
                    VerticalAlignment="Stretch"
                    HorizontalAlignment="Stretch">
            <TextBlock
                Text = "{Binding Data.EventName}"
                VerticalAlignment="Center"
                TextTrimming="CharacterEllipsis"
                TextWrapping="Wrap"
                TextAlignment="Left"/>
        </StackPanel>
    </DataTemplate>
    <DataTemplate x:Key="allDayAppointmentTemplate">
        <StackPanel Background = "{Binding Data.BackgroundBrush}"
                    VerticalAlignment="Stretch"
                    HorizontalAlignment="Stretch">
            <TextBlock
                Text = "{Binding Data.EventName}"
                VerticalAlignment="Center"
                TextTrimming="CharacterEllipsis"
                TextWrapping="Wrap"
                TextAlignment="Left"/>
        </StackPanel>
    </DataTemplate>
    <local:DataTemplateSelectorHelper x:Key="dataTemplateSelector"
                                      AppointmentTemplate="{StaticResource appointmentTemplate}"
                                      AllDayAppointmentTemplate="{StaticResource allDayAppointmentTemplate}" />
</Window.Resources>
<syncfusion:SfScheduler x:Name="schedule">
<syncfusion:SfScheduler.DaysViewSettings>
<syncfusion:DaysViewSettings AppointmentTemplateSelector="{StaticResource dataTemplateSelector}"/>
</ syncfusion:SfScheduler.DaysViewSettings>
<syncfusion:SfScheduler.TimelineViewSettings>
<syncfusion:TimelineViewSettings AppointmentTemplateSelector="{StaticResource dataTemplateSelector}"/>
</ syncfusion:SfScheduler.TimelineViewSettings>
<syncfusion:SfScheduler.MonthViewSettings>
<syncfusion:MonthViewSettings AppointmentTemplateSelector="{StaticResource dataTemplateSelector}"/>
</ syncfusion:SfScheduler.MonthViewSettings>
<syncfusion:SfScheduler.AppointmentMapping>
<syncfusion:AppointmentMapping
Subject = "EventName"
StartTime="From"
EndTime="To"
AppointmentBackground="BackgroundBrush"
IsAllDay="IsAllDay"/>
</syncfusion:SfScheduler.AppointmentMapping>
</syncfusion:SfScheduler>
ResourceHeaderSize
Gets or sets the height of resource header in day, week and work week views and width of resource view in timeline views.
Declaration
public double ResourceHeaderSize { get; set; }Property Value
| Type | 
|---|
| System.Double | 
ViewHeaderDayFormat
Gets or sets view header day format.
Declaration
public string ViewHeaderDayFormat { get; set; }Property Value
| Type | 
|---|
| System.String | 
Examples
#C#
this.Schedule.DaysViewSettings.ViewHeaderDayFormat = "dddd";
this.Schedule.TimelineViewSettings.ViewHeaderDayFormat = "dddd";
this.Schedule.MonthViewSettings.ViewHeaderDayFormat = "dddd"#Xaml
<?xml version = "1.0" encoding="utf-8"?>
<syncfusion:SfScheduler x:Name="Schedule" >
  <syncfusion:SfScheduler.DaysViewSettings>
       <syncfusion:DaysViewSettings ViewHeaderDayFormat = "dddd" />
  </ syncfusion:SfScheduler.DaysViewSettings>
  <syncfusion:SfScheduler.TimelineViewSettings>
       <syncfusion:TimelineViewSettings ViewHeaderDayFormat = "dddd" />
   </ syncfusion:SfScheduler.TimelineViewSettings>
   <syncfusion:SfScheduler.MonthViewSettings>
       <syncfusion:MonthViewSettings ViewHeaderDayFormat = "dddd" />
  </ syncfusion:SfScheduler.MonthViewSettings>
</syncfusion:SfScheduler>ViewHeaderHeight
Gets or sets a value of view header height.
Declaration
public double ViewHeaderHeight { get; set; }Property Value
| Type | 
|---|
| System.Double | 
ViewHeaderTemplate
Gets or sets the view header template.
Declaration
public DataTemplate ViewHeaderTemplate { get; set; }Property Value
| Type | 
|---|
| Microsoft.UI.Xaml.DataTemplate | 
Examples
The following sample used to configure the view header template.
#[Xaml](#tab/tabid-10)<syncfusion:SfScheduler x:Name="Schedule">
  <syncfusion:SfScheduler.DaysViewSettings>
       <syncfusion:DaysViewSettings>
           <syncfusion:DaysViewSettings.ViewHeaderTemplate>
               <DataTemplate>
                   <Grid Margin = "10, 0, 10, 0" >
                       < Grid.RowDefinitions >
                           < RowDefinition Height="*" />
                           <RowDefinition Height = "*" />
                       </ Grid.RowDefinitions >
                       < TextBlock Foreground="Blue" Text="{Binding DayText}" />
                       <TextBlock Grid.Row="1" Text= "{Binding DateText}" />
                   </ Grid >
               </ DataTemplate >
           </ syncfusion:DaysViewSettings.ViewHeaderTemplate>
       </syncfusion:DaysViewSettings>
   </syncfusion:SfScheduler.DaysViewSettings>
   <syncfusion:SfScheduler.TimelineViewSettings>
   <syncfusion:SfScheduler.TimelineViewSettings>
       <syncfusion:TimelineViewSettings>
           <syncfusion:TimelineViewSettings.ViewHeaderTemplate>
               <DataTemplate>
                   <Grid Margin = "10, 0, 10, 0" >
                       < Grid.RowDefinitions >
                           < RowDefinition Height= "*" />
                           < RowDefinition Height= "*" />
                       </ Grid.RowDefinitions >
                       < TextBlock Foreground= "Blue" Text= "{Binding DayText}" />
                       < TextBlock Grid.Row= "1" Foreground= "Blue" Text= "{Binding DateText}" />
                   </ Grid >
               </ DataTemplate >
           </ syncfusion:TimelineViewSettings.ViewHeaderTemplate>
       </syncfusion:TimelineViewSettings>
   </syncfusion:SfScheduler.TimelineViewSettings>
   <syncfusion:SfScheduler.MonthViewSettings>
       <syncfusion:MonthViewSettings>
            <syncfusion:MonthViewSettings.ViewHeaderTemplate>
                <DataTemplate>
                   <Grid>
                       <TextBlock Foreground = "Red" Text= "{Binding DateText}" />
                   </ Grid >
               </ DataTemplate >
           </ syncfusion:MonthViewSettings.ViewHeaderTemplate>
       </syncfusion:MonthViewSettings>
   </syncfusion:SfScheduler.MonthViewSettings>
</syncfusion:SfScheduler>VisibleResourceCount
Gets or sets the resources count to be displayed in schedule view. Defaults to 3 and it will display 3 resource headers in scheduler view port.
Declaration
public int VisibleResourceCount { get; set; }Property Value
| Type | 
|---|
| System.Int32 | 
Methods
Dispose()
Disposes all the resources used by the ViewSettingsBase class.
Declaration
public void Dispose()Dispose(Boolean)
Disposes all the resources used by the ViewSettingsBase class.
Declaration
protected virtual void Dispose(bool disposing)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Boolean | disposing | Indicates whether the call is from Dispose method or from a System.GC.SuppressFinalize(System.Object). |