private static void SetVisibilityOfButtons(MessageWindowButton button) { switch (button) { case MessageWindowButton.OK: _messageBox.btnCancel.Visibility = Visibility.Collapsed; _messageBox.btnNo.Visibility = Visibility.Collapsed; _messageBox.btnYes.Visibility = Visibility.Collapsed; _messageBox.btnOk.Focus(); break; case MessageWindowButton.OKCancel: _messageBox.btnNo.Visibility = Visibility.Collapsed; _messageBox.btnYes.Visibility = Visibility.Collapsed; _messageBox.btnCancel.Focus(); break; case MessageWindowButton.YesNo: _messageBox.btnOk.Visibility = Visibility.Collapsed; _messageBox.btnCancel.Visibility = Visibility.Collapsed; _messageBox.btnNo.Focus(); break; case MessageWindowButton.YesNoCancel: _messageBox.btnOk.Visibility = Visibility.Collapsed; _messageBox.btnCancel.Focus(); break; default: break; } }
internal static bool? Show(Window owner, string caption, string message, MessageWindowIcon icon = MessageWindowIcon.OK, MessageWindowButton buttons = MessageWindowButton.OK) { bool? result = null; Application.Current.Dispatcher.Invoke(new Action(() => { MessageWindow window = new MessageWindow(); window.DataContext = new MessageWindowViewModel(caption, message, icon, buttons); window.Owner = owner; result = window.ShowDialog(); })); return result; }
public static MessageBoxResult Show (string caption, string text, MessageWindowButton button, MessageWindowImage image) { _messageBox = new MessageWindow { txtMsg = { Text = text }, MessageTitle = { Text = caption } }; SetVisibilityOfButtons(button); SetImageOfMessageBox(image); _messageBox.ShowDialog(); return(_result); }
public MessageWindowViewModel(string caption, string message, MessageWindowIcon icon, MessageWindowButton buttons) { Caption = caption; Message = message; switch (icon) { case MessageWindowIcon.OK: Icon = Icons.Good; break; case MessageWindowIcon.Caution: Icon = Icons.Caution; break; case MessageWindowIcon.Error: Icon = Icons.Urgent; break; case MessageWindowIcon.Question: Icon = Icons.Unknown; break; } switch (buttons) { case MessageWindowButton.OK: YesButtonVisibility = Visibility.Collapsed; NoButtonVisibility = Visibility.Collapsed; CancelButtonVisibility = Visibility.Collapsed; OKButtonVisibility = Visibility.Visible; break; case MessageWindowButton.OKCancel: YesButtonVisibility = Visibility.Collapsed; NoButtonVisibility = Visibility.Collapsed; CancelButtonVisibility = Visibility.Visible; OKButtonVisibility = Visibility.Visible; break; case MessageWindowButton.YesNo: YesButtonVisibility = Visibility.Visible; NoButtonVisibility = Visibility.Visible; CancelButtonVisibility = Visibility.Collapsed; OKButtonVisibility = Visibility.Collapsed; break; case MessageWindowButton.YesNoCancel: YesButtonVisibility = Visibility.Visible; NoButtonVisibility = Visibility.Visible; CancelButtonVisibility = Visibility.Visible; OKButtonVisibility = Visibility.Collapsed; break; } }
public MessageWindow(Window o, string message, string title, MessageWindowButton buttons, MessageWindowImage image) { // Set window default values Owner = o; ShowInTaskbar = false; // Initialize the UI InitializeComponent(); // Set buttons states ButtonCancel.IsCancel = true; ButtonOK.IsDefault = true; ButtonYes.IsDefault = true; // Set the window title Title = title; // Set the message text MessageBoxText.Text = message; Bitmap imageToShow = null; // Set the image to show and the sound to play switch (image) { case MessageWindowImage.Information: imageToShow = AppResources.MessageWindowInformation; SoundToPlay = SystemSounds.Asterisk; break; case MessageWindowImage.Warning: imageToShow = AppResources.MessageWindowWarning; SoundToPlay = SystemSounds.Exclamation; break; case MessageWindowImage.Error: imageToShow = AppResources.MessageWindowError; SoundToPlay = SystemSounds.Hand; break; case MessageWindowImage.Success: imageToShow = AppResources.MessageWindowSuccess; SoundToPlay = SystemSounds.Beep; break; default: break; } if (imageToShow != null) { var memory = new MemoryStream(); imageToShow.Save(memory, ImageFormat.Png); memory.Position = 0; var bitmapImage = new BitmapImage(); bitmapImage.BeginInit(); bitmapImage.StreamSource = memory; bitmapImage.CacheOption = BitmapCacheOption.OnLoad; bitmapImage.EndInit(); MessageBoxImage.Source = bitmapImage; } // Set which buttons to show switch (buttons) { default: case MessageWindowButton.Ok: ButtonYes.Visibility = Visibility.Collapsed; ButtonCancel.Visibility = Visibility.Collapsed; ButtonNo.Visibility = Visibility.Collapsed; break; case MessageWindowButton.OkCancel: ButtonYes.Visibility = Visibility.Collapsed; ButtonNo.Visibility = Visibility.Collapsed; break; case MessageWindowButton.YesNo: ButtonOK.Visibility = Visibility.Collapsed; ButtonCancel.Visibility = Visibility.Collapsed; break; case MessageWindowButton.YesNoCancel: ButtonOK.Visibility = Visibility.Collapsed; break; case MessageWindowButton.None: ButtonOK.Visibility = Visibility.Collapsed; ButtonYes.Visibility = Visibility.Collapsed; ButtonCancel.Visibility = Visibility.Collapsed; ButtonNo.Visibility = Visibility.Collapsed; break; } ButtonCancel.Click += (object sender, RoutedEventArgs e) => { ClickedButton = MessageWindowResult.Cancel; Close(); }; ButtonNo.Click += (object sender, RoutedEventArgs e) => { ClickedButton = MessageWindowResult.No; Close(); }; ButtonOK.Click += (object sender, RoutedEventArgs e) => { ClickedButton = MessageWindowResult.Ok; Close(); }; ButtonYes.Click += (object sender, RoutedEventArgs e) => { ClickedButton = MessageWindowResult.Yes; Close(); }; }
internal static bool?Show(Window owner, string caption, string message, MessageWindowIcon icon = MessageWindowIcon.OK, MessageWindowButton buttons = MessageWindowButton.OK) { bool?result = null; Application.Current.Dispatcher.Invoke(new Action(() => { MessageWindow window = new MessageWindow(); window.DataContext = new MessageWindowViewModel(caption, message, icon, buttons); window.Owner = owner; result = window.ShowDialog(); })); return(result); }
public MessageWindowViewModel(string caption, string message, MessageWindowIcon icon, MessageWindowButton buttons) { Caption = caption; Message = message; switch (icon) { case MessageWindowIcon.OK: Icon = Icons.Good; break; case MessageWindowIcon.Caution: Icon = Icons.Caution; break; case MessageWindowIcon.Error: Icon = Icons.Urgent; break; case MessageWindowIcon.Question: Icon = Icons.Unknown; break; } switch (buttons) { case MessageWindowButton.OK: YesButtonVisibility = Visibility.Collapsed; NoButtonVisibility = Visibility.Collapsed; CancelButtonVisibility = Visibility.Collapsed; OKButtonVisibility = Visibility.Visible; break; case MessageWindowButton.OKCancel: YesButtonVisibility = Visibility.Collapsed; NoButtonVisibility = Visibility.Collapsed; CancelButtonVisibility = Visibility.Visible; OKButtonVisibility = Visibility.Visible; break; case MessageWindowButton.YesNo: YesButtonVisibility = Visibility.Visible; NoButtonVisibility = Visibility.Visible; CancelButtonVisibility = Visibility.Collapsed; OKButtonVisibility = Visibility.Collapsed; break; case MessageWindowButton.YesNoCancel: YesButtonVisibility = Visibility.Visible; NoButtonVisibility = Visibility.Visible; CancelButtonVisibility = Visibility.Visible; OKButtonVisibility = Visibility.Collapsed; break; } }
public static MessageBoxResult Show (string caption, string text, MessageWindowButton button) { return(Show(caption, text, button, MessageWindowImage.None)); }