public Task <int[]> GetCheckboxResultAsync(string title, string message, Dictionary <int, string> options) { var tcs = new TaskCompletionSource <int[]>(); var _dialogView = new Plugin.DialogKit.Views.CheckBoxView(title, message, options); _dialogView.Completed += (s, e) => { tcs.SetResult(e?.ToArray()); PopupNavigation.PopAsync(); }; PopupNavigation.PushAsync(new PopupPage { Content = _dialogView }); return(tcs.Task); }
public Task <IEnumerable <T> > GetCheckboxResultAsync <T>(string title, string message, IList <T> source, IList <T> selecteds = null) { TaskCompletionSource <IEnumerable <T> > tcs = new TaskCompletionSource <IEnumerable <T> >(); var _dialogView = new Plugin.DialogKit.Views.CheckBoxView(title, message, source, selecteds.AsEnumerable()); _dialogView.Completed += (s, e) => { tcs.TrySetResult((s as CheckBoxView).GetSelectedValues().Cast <T>()); PopupNavigation.PopAsync(); }; PopupNavigation.PushAsync(new PopupPage { Content = _dialogView }); return(tcs.Task); }
public Task <string[]> GetCheckboxResultAsync(string title, string message, params string[] options) { var tcs = new TaskCompletionSource <string[]>(); var _dialogView = new Plugin.DialogKit.Views.CheckBoxView(title, message, options); _dialogView.Completed += (s, e) => { tcs.SetResult(e == null ? null : _dialogView.SelectedValues.ToArray()); PopupNavigation.PopAsync(); }; PopupNavigation.PushAsync(new PopupPage { Content = _dialogView }); return(tcs.Task); }