public override void Confirm(string message, Action<bool> onConfirm, string title, string okText, string cancelText) {
            this.Dispatch(() => {
                var alert = new MessagePrompt {
                    Title = title,
                    Message = message
                };
                var btnYes = new Button { Content = okText };
                btnYes.Click += (sender, args) => {
                    alert.Hide();
                    onConfirm(true);
                };

                var btnNo = new Button { Content = cancelText };
                btnNo.Click += (sender, args) => {
                    alert.Hide();
                    onConfirm(false);
                };

                alert.ActionPopUpButtons.Clear();
                alert.ActionPopUpButtons.Add(btnYes);
                alert.ActionPopUpButtons.Add(btnNo);
                alert.Show();
            });
        }
        public override void Alert(string message, string title, string okText, Action onOk) {
            this.Dispatch(() => {
                var alert = new MessagePrompt {
                    Title = title,
                    Message = message
                };
                var btn = new Button { Content = okText };
                btn.Click += (sender, args) => alert.Hide();

                if (onOk != null) { 
                    alert.Completed += (sender, args) => onOk();
                }
                alert.ActionPopUpButtons.Clear();
                alert.ActionPopUpButtons.Add(btn);
                alert.Show();
            });
        }
		private void MessageSuperClick(object sender, RoutedEventArgs e)
		{
			var messagePrompt = new MessagePrompt
			{
				Title = "Advanced Message",
				Background = _naturalBlueSolidColorBrush,
				Foreground = _aliceBlueSolidColorBrush,
				Overlay = _cornFlowerBlueSolidColorBrush,
			};

			var btnHide = new RoundButton { Content = "Hide" };
			btnHide.Click += (o, args) => messagePrompt.Hide();

			var btnComplete = new RoundButton { Content = "Complete" };
			btnComplete.Click += (o, args) => messagePrompt.OnCompleted(new PopUpEventArgs<string, PopUpResult> { PopUpResult = PopUpResult.Ok, Result = "You clicked the Complete Button" });

			messagePrompt.ActionPopUpButtons.Clear();
			messagePrompt.ActionPopUpButtons.Add(btnHide);
			messagePrompt.ActionPopUpButtons.Add(btnComplete);

			messagePrompt.Completed += PopUpPromptStringCompleted;

			messagePrompt.Show();
		}