/// <summary> /// Date control parameter. /// </summary> /// <param name="Name">Parameter name.</param> /// <param name="Page">On which page in the control dialog the parameter should appear.</param> /// <param name="Label">Label for parameter.</param> /// <param name="Description">Description for parameter.</param> /// <param name="Min">Smallest value allowed.</param> /// <param name="Max">Largest value allowed.</param> /// <param name="GetHandler">This callback method is called when the value of the parameter is needed.</param> /// <param name="SetHandler">This callback method is called when the value of the parameter is set.</param> public DateControlParameter(string Name, string Page, string Label, string Description, DateTime?Min, DateTime?Max, DateGetHandler GetHandler, DateSetHandler SetHandler) : base(Name, Page, Label, Description) { this.getHandler = GetHandler; this.setHandler = SetHandler; this.min = Min; this.max = Max; }
public virtual void OnItemClicked() { base.ExecuteMethod("OnItemClicked", delegate() { _showing = true; DateTime parsed = DateTime.UtcNow; if (!DateTime.TryParse(this.TextView.Text, out parsed)) { parsed = DateTime.UtcNow; } if (FocusAction != null) { FocusAction(true); } if (this.PickTime) { var picker = new BetterPickers.RadialTimePickers.RadialTimePickerDialog(); picker.SetThemeCustom(Resource.Style.BetterPickersRadialTimePickerDialog); picker.SetStartTime(DateTime.Now.Hour, DateTime.Now.Minute); picker.SetDoneText("Done"); picker.TimeSet += picker_TimeSet; picker.Show(this.Activity.SupportFragmentManager, null); } else { if (this.UseCalendar) { _handler = new DateSetHandler() { Action = this.OnDateTimePicked }; CalendarDatePickerDialog picker = CalendarDatePickerDialog.NewInstance(_handler, parsed.Year, parsed.Month, parsed.Day); picker.Show(this.Activity.SupportFragmentManager, ""); } else { var picker = new DatePickerBuilder() .SetFragmentManager(this.Activity.SupportFragmentManager) .SetStyleResId(Resource.Style.BetterPickersDialogFragment); picker.AddDatePickerDialogHandler(OnDateTimePicked); picker.Show(); } } }); }