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); }
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); } }