public void ChangedSelecting() { MonthView.DeselectDate(); if (Selecting == Selecting.From) { MonthView.OnFinishedDateSelection = (date) => { SelectedPeriod.DateFrom = date; SelectedPeriod.DateTo = date; UpdateData(TableView); MonthView.SetNeedsDisplay(); }; MonthView.IsDateAvailable = (date) => { return(date <= DateTime.Today); }; MonthView.IsDayMarkedDelegate = (date) => { return(date >= SelectedPeriod.DateFrom && date <= SelectedPeriod.DateTo); }; } else { MonthView.OnFinishedDateSelection = (date) => { SelectedPeriod.DateTo = date; UpdateData(TableView); MonthView.SetNeedsDisplay(); }; MonthView.IsDateAvailable = (date) => { var available = (date <= DateTime.Today && date >= SelectedPeriod.DateFrom); return(available); }; MonthView.IsDayMarkedDelegate = (date) => { return(date >= SelectedPeriod.DateFrom && date <= SelectedPeriod.DateTo); }; } if (TableView != null) { UpdateData(TableView); } MonthView.SetNeedsDisplay(); }