Example #1
0
        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;
            }
        }
Example #2
0
 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;
 }
Example #3
0
 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;
              }
        }
Example #5
0
        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();
            };
        }
Example #6
0
        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);
        }
Example #7
0
        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;
            }
        }
Example #8
0
 public static MessageBoxResult Show
     (string caption, string text, MessageWindowButton button)
 {
     return(Show(caption, text, button,
                 MessageWindowImage.None));
 }