Beispiel #1
0
		public override void Confirm(ConfirmConfig config)
		{
			Xamarin.Forms.Device.BeginInvokeOnMainThread(() =>
				new AlertDialog
				.Builder(this.getTopActivity())
				.SetCancelable(false)
				.SetMessage(config.Message)
				.SetTitle(config.Title)
				.SetPositiveButton(config.OkText, (o, e) => config.OnConfirm(true))
				.SetNegativeButton(config.CancelText, (o, e) => config.OnConfirm(false))
				.Show()
			);
		}
Beispiel #2
0
		public override void Confirm(ConfirmConfig config)
		{
			UIApplication.SharedApplication.InvokeOnMainThread(() =>
				{
					if (UIDevice.CurrentDevice.CheckSystemVersion(8, 0))
					{
						var dlg = UIAlertController.Create(config.Title ?? String.Empty, config.Message, UIAlertControllerStyle.Alert);
						dlg.AddAction(UIAlertAction.Create(config.OkText, UIAlertActionStyle.Default, x => config.OnConfirm(true)));
						dlg.AddAction(UIAlertAction.Create(config.CancelText, UIAlertActionStyle.Default, x => config.OnConfirm(false)));
						this.Present(dlg);
					}
					else
					{
						var dlg = new UIAlertView(config.Title ?? String.Empty, config.Message, null, config.CancelText, config.OkText);
						dlg.Clicked += (s, e) =>
						{
							var ok = ((int)dlg.CancelButtonIndex != (int)e.ButtonIndex);
							config.OnConfirm(ok);
						};
						dlg.Show();
					}
				});
		}
		public virtual Task<bool> ConfirmAsync(ConfirmConfig config)
		{
			var tcs = new TaskCompletionSource<bool>();
			config.OnConfirm = x => tcs.TrySetResult(x);
			this.Confirm(config);
			return tcs.Task;
		}
		public abstract void Confirm(ConfirmConfig config);