public override IDisposable TimePrompt(TimePromptConfig config) { var picker = new AI.AIDatePickerController { Mode = UIDatePickerMode.Time, SelectedDateTime = config.SelectedTime != null?DateTime.Today.Add((TimeSpan)config.SelectedTime) : DateTime.Now, MinuteInterval = config.MinuteInterval, OkText = config.OkText, CancelText = config.CancelText, Ok = x => config.OnAction(new TimePromptResult(true, x.SelectedDateTime.TimeOfDay)), Cancel = x => config.OnAction(new TimePromptResult(false, x.SelectedDateTime.TimeOfDay)), Use24HourClock = config.Use24HourClock }; return(this.Present(picker)); }
public override IDisposable TimePrompt(TimePromptConfig config) { Dispatch(() => { var timePromptControl = new TimePromptControl() { Use24HourClock = config.Use24HourClock ?? false, Value = config.SelectedTime ?? TimeSpan.Zero }; FormsContentDialog dialog = new FormsContentDialog() { DataContext = config, Title = config.Title, Content = timePromptControl, IsPrimaryButtonEnabled = true, PrimaryButtonText = config.OkText, IsSecondaryButtonEnabled = true, SecondaryButtonText = config.CancelText }; dialog.PrimaryButtonClick += (s, e) => { HideContentDialog(); config.OnAction(new TimePromptResult(true, timePromptControl.Value)); e.Cancel = true; }; dialog.SecondaryButtonClick += (s, e) => { HideContentDialog(); config.OnAction(new TimePromptResult(false, timePromptControl.Value)); e.Cancel = true; }; ShowContentDialog(dialog); }); return(new DisposableAction(HideContentDialog)); }