What’s New in 2018 Volume 2: Schedule in Xamarin | Syncfusion Blogs
Live Chat Icon For mobile
Live Chat Icon
Popular Categories.NET  (172).NET Core  (29).NET MAUI  (192)Angular  (107)ASP.NET  (51)ASP.NET Core  (82)ASP.NET MVC  (89)Azure  (40)Black Friday Deal  (1)Blazor  (209)BoldSign  (12)DocIO  (24)Essential JS 2  (106)Essential Studio  (200)File Formats  (63)Flutter  (131)JavaScript  (219)Microsoft  (118)PDF  (80)Python  (1)React  (98)Streamlit  (1)Succinctly series  (131)Syncfusion  (882)TypeScript  (33)Uno Platform  (3)UWP  (4)Vue  (45)Webinar  (49)Windows Forms  (61)WinUI  (68)WPF  (157)Xamarin  (161)XlsIO  (35)Other CategoriesBarcode  (5)BI  (29)Bold BI  (8)Bold Reports  (2)Build conference  (8)Business intelligence  (55)Button  (4)C#  (146)Chart  (125)Cloud  (15)Company  (443)Dashboard  (8)Data Science  (3)Data Validation  (8)DataGrid  (62)Development  (613)Doc  (7)DockingManager  (1)eBook  (99)Enterprise  (22)Entity Framework  (5)Essential Tools  (14)Excel  (37)Extensions  (22)File Manager  (6)Gantt  (18)Gauge  (12)Git  (5)Grid  (31)HTML  (13)Installer  (2)Knockout  (2)Language  (1)LINQPad  (1)Linux  (2)M-Commerce  (1)Metro Studio  (11)Mobile  (488)Mobile MVC  (9)OLAP server  (1)Open source  (1)Orubase  (12)Partners  (21)PDF viewer  (41)Performance  (12)PHP  (2)PivotGrid  (4)Predictive Analytics  (6)Report Server  (3)Reporting  (10)Reporting / Back Office  (11)Rich Text Editor  (12)Road Map  (12)Scheduler  (52)Security  (3)SfDataGrid  (9)Silverlight  (21)Sneak Peek  (31)Solution Services  (4)Spreadsheet  (11)SQL  (10)Stock Chart  (1)Surface  (4)Tablets  (5)Theme  (12)Tips and Tricks  (112)UI  (368)Uncategorized  (68)Unix  (2)User interface  (68)Visual State Manager  (2)Visual Studio  (30)Visual Studio Code  (17)Web  (577)What's new  (313)Windows 8  (19)Windows App  (2)Windows Phone  (15)Windows Phone 7  (9)WinRT  (26)

What’s New in 2018 Volume 2: Schedule in Xamarin

The Schedule component for Xamarin.Forms has been made highly customizable for the 2018 Volume 2 release, with support to completely customize its appearance and behavior. We have also added several key features such as drag and drop support, agenda view support, time zone support, other minor enhancements, and fixed several bugs.

This blog post will showcase the new features added to the Xamarin.Forms schedule component in 2018 Volume 2.

Appointment drag and drop

An appointment can be rescheduled using drag and drop operations. To perform drag-and-drop operations within Schedule application you must enable `AllowAppointmentDrag` as shown in the below code.

<schedule:SfSchedule x_Name="schedule" ScheduleView="WorkWeekView"
                     AllowAppointmentDrag="True">
</schedule:SfSchedule>

You can handle the DragStart, DragOver, and DragEnd events, and arguments of these events, to easily facilitate drag-and-drop operations.

Time zones

Appointments can be created in various time zones and displayed in a specified time zone. Schedule appointments can also be rendered by recalculating the start and end time values based on the given time zone.

<schedule:SfSchedule x_Name="schedule" ScheduleView="WeekView"
                     TimeZone="Canada Central Standard Time" >
</schedule:SfSchedule>

After rescheduling an appointment using drag and drop, its start and end times will be updated based on the start time zone and end time zone.


Agenda view

An agenda view displays selected appointments in a list below the month view. To enable agenda view in the schedule month view, set `ShowAgendaView` to true as shown in the following code.

<schedule:SfSchedule x_Name="schedule" ScheduleView="MonthView" >
     <schedule:SfSchedule.MonthViewSettings>
                <schedule:MonthViewSettings ShowAgendaView="True"/>
     </schedule:SfSchedule.MonthViewSettings>
</schedule:SfSchedule>

You can also customize each listed appointment by using the AgendaViewStyle and AgendaItemTemplate properties.

Month cell templates

Month cells can be customized using data templates and template selectors. A template selector lets you choose a different data template for each month cell, customizing the appearance of a particular month cell based on certain conditions.

<ContentPage.Resources>
     <ResourceDictionary>
           <samplelocal:MonthCellDataTemplateSelector x_Key="monthCellDataTemplateSelector" />
     </ResourceDictionary>
</ContentPage.Resources>

<ContentPage.Content>
     <schedule:SfSchedule x_Name="schedule"  ScheduleView="MonthView" >
          <schedule:SfSchedule.MonthViewSettings>
               <schedule:MonthViewSettings x_Name="monthViewSettings"
			MonthCellTemplate="{StaticResource monthCellDataTemplateSelector}" />
                </schedule:SfSchedule.MonthViewSettings>
     </schedule:SfSchedule>
</ContentPage.Content>

Data Template Selector

public class MonthCellDataTemplateSelector : DataTemplateSelector
{
    public DataTemplate MonthAppointmentTemplate { get; set; }
    public DataTemplate MonthCellDatesTemplate { get; set; }

    public MonthCellDataTemplateSelector()
    {
        MonthAppointmentTemplate = new DataTemplate(typeof(MonthAppointmentTemplate));
        MonthCellDatesTemplate = new DataTemplate(typeof(MonthCellDatesTemplate));
    }
    protected override DataTemplate OnSelectTemplate(object item, BindableObject container)
    {
            var appointments = (IList)(item as MonthCellItem).Appointments;

            if (appointments != null)
            {
                return MonthAppointmentTemplate;
            }

            return MonthCellDatesTemplate;       
    }
}

Partial hours

You can set partial working hours, start hours, and end hours according to your requirements using view settings. With 2018 Volume 2, you can also customize the minutes within working hours by setting a double value which will be converted to a time. If you don’t want to set minutes, don’t specify the decimal point values. The value will be calculated as an hour automatically for the WorkStartHour, WorkEndHour, StartHour, and EndHour properties.

<schedule:SfSchedule x_Name="schedule" ScheduleView="WeekView">
    <schedule:SfSchedule.WeekViewSettings>
        <!--WorkStartHour="11.5" is 11h 30m, StartHour="7.5" is 7h 30m-->
        <schedule:WeekViewSettings WorkStartHour="11.5" WorkEndHour="17.5" 
                                   StartHour="7.5" EndHour="22.5"/>
    </schedule:SfSchedule.WeekViewSettings>
</schedule:SfSchedule>

We hope that you will like these new features and we look forward to you trying them out in the 2018 Volume 2 release. You can find the 2018 Volume 2 Xamarin install download link here. Please feel free to leave your feedback in the comments section below.

If you like this blog post, we think you’ll also like the following free e-books:

Tags:

Share this post:

Popular Now

Be the first to get updates

Subscribe RSS feed

Be the first to get updates

Subscribe RSS feed
Scroll To Top