예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }