public void MessageBoxManagerShowButtonsTest([Values] MessageBoxButtonSet buttons)
        {
            OnDialogShown = vm =>
            {
                if (!(vm is MessageBoxViewModel messageBoxViewModel))
                {
                    throw new ArgumentException("Cannot handle view models other than MessageBoxViewModel");
                }

                if (buttons == MessageBoxButtonSet.Ok)
                {
                    Assert.That(messageBoxViewModel.Buttons, Has.Count.EqualTo(1));
                }
                else if (buttons == MessageBoxButtonSet.OkCancel || buttons == MessageBoxButtonSet.YesNo)
                {
                    Assert.That(messageBoxViewModel.Buttons, Has.Count.EqualTo(2));
                }
                else if (buttons == MessageBoxButtonSet.YesNoCancel)
                {
                    Assert.That(messageBoxViewModel.Buttons, Has.Count.EqualTo(3));
                }
                else
                {
                    Assert.Fail("Buttons argument out of scope");
                }
            };

            _messageBoxManager.Show("Caption", "Message", MessageBoxType.None, buttons);
            Assert.AreEqual(1, _showWindowInvoked);
        }
Esempio n. 2
0
        public bool?Show(string title, string msg, MessageBoxType type = MessageBoxType.None,
                         MessageBoxButtonSet buttons = MessageBoxButtonSet.Ok)
        {
            var vm = new MessageBoxViewModel(title, msg, type);

            switch (buttons)
            {
            case MessageBoxButtonSet.Ok:
                vm.AddButton(DialogButtonType.Ok);
                break;

            case MessageBoxButtonSet.OkCancel:
                vm.AddButton(DialogButtonType.Ok);
                vm.AddButton(DialogButtonType.Cancel);
                break;

            case MessageBoxButtonSet.YesNo:
                vm.AddButton(DialogButtonType.Yes);
                vm.AddButton(DialogButtonType.No);
                break;

            case MessageBoxButtonSet.YesNoCancel:
                vm.AddButton(DialogButtonType.Yes);
                vm.AddButton(DialogButtonType.No);
                vm.AddButton(DialogButtonType.Cancel);
                break;

            default:
                throw new ArgumentException("Unsupported buttons specified for Message Box");
            }

            return(_windowManager.ShowDialog(vm));
        }
        public static MessageBoxResult ShowMessage(string caption, string message, MessageBoxButtonSet buttonSet)
        {
            if (!isBusy)
            {
                isBusy = true;
                ActionInterface messageBox = new ActionInterface();

                #region message box options
                messageBox.lblHeader.Content = caption;
                messageBox.lblInfo.Content   = message;
                switch (buttonSet)
                {
                case MessageBoxButtonSet.OK:
                {
                    messageBox.btnCancel.Visibility = Visibility.Hidden;
                    //messageBox.btnCancel.Content = "Cancel";
                    messageBox.btnOK.Visibility    = Visibility.Visible;
                    messageBox.btnOK.Content       = "OK";
                    messageBox.imgIndicator.Source = new BitmapImage(new Uri(AppDomain.CurrentDomain.BaseDirectory + @"\Images\information.png"));
                }
                break;

                case MessageBoxButtonSet.Cancel:
                {
                    messageBox.btnCancel.Visibility = Visibility.Visible;
                    messageBox.btnCancel.Content    = "Cancel";
                    messageBox.btnOK.Visibility     = Visibility.Hidden;
                    //messageBox.btnOK.Content = "OK";
                    messageBox.imgIndicator.Source = new BitmapImage(new Uri(AppDomain.CurrentDomain.BaseDirectory + @"\Images\crossmark.png"));
                }
                break;

                case MessageBoxButtonSet.OKCancel:
                {
                    messageBox.btnCancel.Visibility = Visibility.Visible;
                    messageBox.btnCancel.Content    = "Cancel";
                    messageBox.btnOK.Visibility     = Visibility.Visible;
                    messageBox.btnOK.Content        = "OK";
                    messageBox.imgIndicator.Source  = new BitmapImage(new Uri(AppDomain.CurrentDomain.BaseDirectory + @"\Images\exclamationmark.png"));
                }
                break;

                case MessageBoxButtonSet.Yes:
                {
                    messageBox.btnCancel.Visibility = Visibility.Hidden;
                    //messageBox.btnCancel.Content = "Cancel";
                    messageBox.btnOK.Visibility    = Visibility.Visible;
                    messageBox.btnOK.Content       = "Yes";
                    messageBox.imgIndicator.Source = new BitmapImage(new Uri(AppDomain.CurrentDomain.BaseDirectory + @"\Images\exclamationmark.png"));
                }
                break;

                case MessageBoxButtonSet.No:
                {
                    messageBox.btnCancel.Visibility = Visibility.Visible;
                    messageBox.btnCancel.Content    = "No";
                    messageBox.btnOK.Visibility     = Visibility.Hidden;
                    messageBox.imgIndicator.Source  = new BitmapImage(new Uri(AppDomain.CurrentDomain.BaseDirectory + @"\Images\crossmark.png"));
                    //messageBox.btnOK.Content = "OK";
                }
                break;

                case MessageBoxButtonSet.YesNo:
                {
                    messageBox.btnCancel.Visibility = Visibility.Visible;
                    messageBox.btnCancel.Content    = "No";
                    messageBox.btnOK.Visibility     = Visibility.Visible;
                    messageBox.btnOK.Content        = "Yes";
                    messageBox.imgIndicator.Source  = new BitmapImage(new Uri(AppDomain.CurrentDomain.BaseDirectory + @"\Images\information.png"));
                }
                break;
                }
                #endregion

                messageBox.ShowDialog();

                isBusy = false;
                return((MessageBoxResult)(messageBox.DialogResult == true ? 1 : 2));
            }
            else
            {
                return(MessageBoxResult.Non);
            }
        }