The requested page is not available for the requested platform. You are viewing the content for Default platform.

SchedulerView.Tap Event

Fires when users tap on the Scheduler View.

Namespace: DevExpress.XamarinForms.Scheduler

Assembly: DevExpress.XamarinForms.Scheduler.dll

Declaration

public event SchedulerGestureEventHandler Tap

Event Data

The Tap event handler receives an argument of the SchedulerGestureEventArgs type. The following properties provide information specific to this event.

Property Description
AppointmentInfo Returns information about an appointment with which an user interacts.
IntervalInfo Returns information about a time interval with which a user interacts.
Location Returns coordinates of the screen point to which user tapped.

Examples

This example demonstrates how to display AppointmentEditPage to edit general appointment, pattern, occurrence, or to add a new appointment when users taps on the scheduler:

const string EditPatternAction = "Edit pattern";
const string EditOccurrenceAction = "Edit occurrence";
const string EditNormalAction = "Edit";

async void Handle_OnTap(object sender, SchedulerGestureEventArgs e) {
    if (e.AppointmentInfo != null) {
        string selectedAction = await DisplaySelectAppointmentEditActionSheet(e.AppointmentInfo.Appointment);
        switch (selectedAction) {
            case EditPatternAction:
                PushEditAppointmentPage(scheduler.GetPattern(e.AppointmentInfo.Appointment));
                break;
            case EditOccurrenceAction:
            case EditNormalAction:
                PushEditAppointmentPage(e.AppointmentInfo.Appointment);
                break;
            default:
                break;
        }
    } else {
        if (e.IntervalInfo != null) { PushNewAppointmentPage(e.IntervalInfo); }
    }
}

async void PushEditAppointmentPage(AppointmentItem target) {
    var page = new AppointmentEditPage(scheduler, target);
    await Navigation.PushAsync(page);
}
async void PushNewAppointmentPage(IntervalInfo info) {
    var page = new AppointmentEditPage(scheduler, info.Start, info.End, info.AllDay);
    await Navigation.PushAsync(page);
}

async Task<String> DisplaySelectAppointmentEditActionSheet(AppointmentItem target) {
    string[] actions = null;
    string deleteAction = null;
    switch (target.Type) {
        case AppointmentType.Normal:
            actions = new string[] { EditNormalAction };
            break;
        default:
            actions = new string[] { EditPatternAction, EditOccurrenceAction };
            break;
    }
    return await this.DisplayActionSheet(null, "Cancel", null, actions);
}

The following table contains classes and members the example uses:

Symbol

Description

SchedulerView.Tap

Fires when users tap on the Scheduler View.

SchedulerView.GetPattern(AppointmentItem)

Returns a pattern of the specified occurrence or exception.

AppointmentEditPage

The page that allows users to add new appointments and edit existing appointments.

See Also