private void SetDialogImage(MessageDialogImage messageDialogImage) { var iconPath = new Path() { Height = 120, Width = 120, Stretch = Stretch.Uniform, HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center, Margin = new Thickness(0, 24, 0, 40), Fill = new SolidColorBrush((Color)Application.Current.Resources["PhoneForegroundColor"]) }; iconPath.Fill.Opacity = 0.2; switch (messageDialogImage) { case MessageDialogImage.None: _image = null; break; case MessageDialogImage.RubbishBin: iconPath.SetDataBinding(VisualResources.DialogRubbishBinPathData); _image = iconPath; break; case MessageDialogImage.NoInternetConnection: iconPath.SetDataBinding(VisualResources.NoInternetConnectionViewPathData); _image = iconPath; break; default: throw new ArgumentOutOfRangeException("messageDialogImage", messageDialogImage, null); } }
private static bool IsValidMessageDialogImage(MessageDialogImage value) { return value == MessageDialogImage.Error || value == MessageDialogImage.Information || value == MessageDialogImage.None || value == MessageDialogImage.Warning; }
private static MessageBoxResult ShowCore( string messageBoxText, string caption, MessageBoxButton button, MessageDialogImage icon, MessageBoxResult defaultResult) { if (!IsValidMessageBoxButton(button)) { throw new InvalidEnumArgumentException("button", (int)button, typeof(MessageBoxButton)); } if (!IsValidMessageDialogImage(icon)) { throw new InvalidEnumArgumentException("icon", (int)icon, typeof(MessageBoxImage)); } if (!IsValidMessageBoxResult(defaultResult)) { throw new InvalidEnumArgumentException("defaultResult", (int)defaultResult, typeof(MessageBoxResult)); } var dialog = new Dialog(messageBoxText, caption, button, icon, defaultResult); var flag = dialog.ShowDialog(); return flag == true ? MessageBoxResult.No : MessageBoxResult.None; }
public static MessageBoxResult Show( string messageBoxText, string caption, MessageBoxButton button, MessageDialogImage icon) { return ShowCore(messageBoxText, caption, button, icon, 0); }
public Dialog( string messageBoxText, string caption, MessageBoxButton button, MessageDialogImage icon, MessageBoxResult defaultResult) { InitializeComponent(); this.Message = messageBoxText; this.Title = caption; this.image = icon; this.OnPropertyChanged("Image"); }
/// <summary> /// Create a CustomMessageDialog /// </summary> /// <param name="title">Title of the dialog</param> /// <param name="message">Main message of the dialog</param> /// <param name="appInformation">App information for restricting number of dialogs</param> /// <param name="dialogButtons">A value that indicaties the button or buttons to display</param> /// <param name="buttonOrientation">Show buttons on a horizntal row or vertical below each other</param> /// <param name="messageDialogImage">Extra image to display in top of dialog to the user. Default no image</param> public CustomMessageDialog(string title, string message, AppInformation appInformation, IEnumerable <DialogButton> dialogButtons, Orientation buttonOrientation = Orientation.Horizontal, MessageDialogImage messageDialogImage = MessageDialogImage.None) { _title = title; _message = message; _appInformation = appInformation; _buttonOrientation = buttonOrientation; _buttons = new List <DialogButton>(dialogButtons); // Set default result to custom when using defined buttons this.DialogResult = MessageDialogResult.Custom; SetDialogImage(messageDialogImage); }
/// <summary> /// Create a CustomMessageDialog /// </summary> /// <param name="title">Title of the dialog</param> /// <param name="message">Main message of the dialog</param> /// <param name="appInformation">App information for restricting number of dialogs</param> /// <param name="messageDialogImage">Extra image to display in top of dialog to the user. Default no image</param> public CustomMessageDialog(string title, string message, AppInformation appInformation, MessageDialogImage messageDialogImage = MessageDialogImage.None) { _title = title; _message = message; _appInformation = appInformation; // Default orientatien is vertical _buttonOrientation = Orientation.Vertical; // Create a default Ok button for this minimal dialog _buttons = new List <DialogButton> { DialogButton.GetOkButton() }; // Set default result to Cancel or No this.DialogResult = MessageDialogResult.CancelNo; SetDialogImage(messageDialogImage); }
public static BitmapImage GetImage(MessageDialogImage image, MessageDialogImageColor color) #endif { if (image == MessageDialogImage.None) { return(null); } string packuri = "/SolidShineUi;component/DialogImages/"; BitmapImage img; try { img = new BitmapImage(new Uri(packuri + image.ToString("f") + color.ToString("f") + ".png", UriKind.Relative)); } catch (IOException ex) { throw new ArgumentException("Cannot find an icon with this name.", nameof(image), ex); } return(img); }
/// <summary> /// Create a CustomMessageDialog /// </summary> /// <param name="title">Title of the dialog</param> /// <param name="message">Main message of the dialog</param> /// <param name="appInformation">App information for restricting number of dialogs</param> /// <param name="dialogButtons">A value that indicaties the button or buttons to display</param> /// <param name="messageDialogImage">Extra image to display in top of dialog to the user. Default no image</param> public CustomMessageDialog(string title, string message, AppInformation appInformation, MessageDialogButtons dialogButtons, MessageDialogImage messageDialogImage = MessageDialogImage.None) { _title = title; _message = message; _appInformation = appInformation; // Default orientatien is horizontal when using button(s) enumeration _buttonOrientation = Orientation.Horizontal; _buttons = new List <DialogButton>(); // Create buttons defined in the constructor switch (dialogButtons) { case MessageDialogButtons.Ok: _buttons.Add(DialogButton.GetOkButton()); break; case MessageDialogButtons.OkCancel: _buttons.Add(DialogButton.GetOkButton()); _buttons.Add(DialogButton.GetCancelButton()); break; case MessageDialogButtons.YesNo: _buttons.Add(DialogButton.GetYesButton()); _buttons.Add(DialogButton.GetNoButton()); break; default: throw new ArgumentOutOfRangeException("dialogButtons", dialogButtons, null); } // Set default result to Cancel or No this.DialogResult = MessageDialogResult.CancelNo; SetDialogImage(messageDialogImage); }
public MessageDialogResult ShowDialog(string message, ColorScheme colorScheme = null, Window owner = null, string title = "Dialog", MessageDialogButtonDisplay buttonDisplay = MessageDialogButtonDisplay.Auto, MessageDialogImage image = MessageDialogImage.None, MessageDialogResult defaultButton = MessageDialogResult.Cancel, string customOkButtonText = null, string customCancelButtonText = null, string customDiscardButtonText = null, string extraButton1Text = null, string extraButton2Text = null, string extraButton3Text = null, string checkBoxText = null) #endif { txtMessage.Text = message; if (!string.IsNullOrEmpty(title)) { Title = title; } if (colorScheme != null) { SetValue(ColorSchemeProperty, colorScheme); } if (owner != null) { Owner = owner; } if (!string.IsNullOrEmpty(customOkButtonText)) { OkButtonText = customOkButtonText; } if (!string.IsNullOrEmpty(customCancelButtonText)) { CancelButtonText = customCancelButtonText; } if (!string.IsNullOrEmpty(customDiscardButtonText)) { DiscardButtonText = customDiscardButtonText; } switch (buttonDisplay) { case MessageDialogButtonDisplay.Auto: if (string.IsNullOrEmpty(CancelButtonText)) { btnCancel.Visibility = Visibility.Collapsed; } else { btnCancel.Visibility = Visibility.Visible; btnCancel.Content = CancelButtonText; } if (string.IsNullOrEmpty(DiscardButtonText)) { btnDiscard.Visibility = Visibility.Collapsed; } else { btnDiscard.Visibility = Visibility.Visible; btnDiscard.Content = DiscardButtonText; } if (string.IsNullOrEmpty(OkButtonText)) { // if Cancel button, Discard button, and Ok button are all null/not shown, reset the Ok button and show that if (btnCancel.Visibility == Visibility.Collapsed && btnDiscard.Visibility == Visibility.Collapsed) { OkButtonText = "OK"; btnOK.Visibility = Visibility.Visible; } else { btnOK.Visibility = Visibility.Collapsed; } } else { btnOK.Content = OkButtonText; btnOK.Visibility = Visibility.Visible; } break; case MessageDialogButtonDisplay.One: btnOK.Content = GetStringOrNull(OkButtonText, "OK"); btnOK.Visibility = Visibility.Visible; btnCancel.Visibility = Visibility.Collapsed; btnDiscard.Visibility = Visibility.Collapsed; break; case MessageDialogButtonDisplay.Two: btnOK.Content = GetStringOrNull(OkButtonText, "OK"); btnCancel.Content = GetStringOrNull(CancelButtonText, "Cancel"); btnOK.Visibility = Visibility.Visible; btnCancel.Visibility = Visibility.Visible; btnDiscard.Visibility = Visibility.Collapsed; break; case MessageDialogButtonDisplay.Three: btnOK.Content = GetStringOrNull(OkButtonText, "OK"); btnCancel.Content = GetStringOrNull(CancelButtonText, "Cancel"); btnDiscard.Content = GetStringOrNull(DiscardButtonText, "Discard"); btnOK.Visibility = Visibility.Visible; btnCancel.Visibility = Visibility.Visible; btnDiscard.Visibility = Visibility.Visible; break; default: // same as "Auto" if (string.IsNullOrEmpty(CancelButtonText)) { btnCancel.Visibility = Visibility.Collapsed; } else { btnCancel.Visibility = Visibility.Visible; btnCancel.Content = CancelButtonText; } if (string.IsNullOrEmpty(DiscardButtonText)) { btnDiscard.Visibility = Visibility.Collapsed; } else { btnDiscard.Visibility = Visibility.Visible; btnDiscard.Content = DiscardButtonText; } if (string.IsNullOrEmpty(OkButtonText)) { // if Cancel button, Discard button, and Ok button are all null/not shown, reset the Ok button and show that if (btnCancel.Visibility == Visibility.Collapsed && btnDiscard.Visibility == Visibility.Collapsed) { OkButtonText = "OK"; btnOK.Visibility = Visibility.Visible; } else { btnOK.Visibility = Visibility.Collapsed; } } else { btnOK.Content = OkButtonText; btnOK.Visibility = Visibility.Visible; } break; } Image = image; if (!string.IsNullOrEmpty(extraButton1Text)) { ExtraButton1Text = extraButton1Text; } if (!string.IsNullOrEmpty(extraButton2Text)) { ExtraButton2Text = extraButton2Text; } if (!string.IsNullOrEmpty(extraButton3Text)) { ExtraButton3Text = extraButton3Text; } if (!string.IsNullOrEmpty(checkBoxText)) { CheckBoxText = checkBoxText; } bool showExtraButtons = false; if (!string.IsNullOrEmpty(ExtraButton1Text)) { extraButton1.Content = ExtraButton1Text; extraButton1.Visibility = Visibility.Visible; showExtraButtons = true; } if (!string.IsNullOrEmpty(ExtraButton2Text)) { extraButton2.Content = ExtraButton2Text; extraButton2.Visibility = Visibility.Visible; showExtraButtons = true; } if (!string.IsNullOrEmpty(ExtraButton3Text)) { extraButton3.Content = ExtraButton3Text; extraButton3.Visibility = Visibility.Visible; showExtraButtons = true; } if (!string.IsNullOrEmpty(CheckBoxText)) { chkBox.Content = CheckBoxText; chkBox.Visibility = Visibility.Visible; } if (showExtraButtons) { stkExtraButtons.Margin = new Thickness(70, 10, 20, 10); } switch (defaultButton) { case MessageDialogResult.OK: if (btnOK.Visibility == Visibility.Visible) { btnOK.IsDefault = true; } else { btnCancel.IsDefault = true; } break; case MessageDialogResult.Discard: btnDiscard.IsDefault = true; break; case MessageDialogResult.Cancel: btnCancel.IsDefault = true; break; case MessageDialogResult.Extra1: if (extraButton1.Visibility == Visibility.Visible) { extraButton1.IsDefault = true; btnCancel.IsDefault = false; btnOK.IsDefault = false; } else { btnCancel.IsDefault = true; } break; case MessageDialogResult.Extra2: if (extraButton2.Visibility == Visibility.Visible) { extraButton2.IsDefault = true; btnCancel.IsDefault = false; btnOK.IsDefault = false; } else { btnCancel.IsDefault = true; } break; case MessageDialogResult.Extra3: if (extraButton3.Visibility == Visibility.Visible) { extraButton3.IsDefault = true; btnCancel.IsDefault = false; btnOK.IsDefault = false; } else { btnCancel.IsDefault = true; } break; } if (Owner != null) { WindowStartupLocation = WindowStartupLocation.CenterOwner; } else { WindowStartupLocation = WindowStartupLocation.CenterScreen; } base.ShowDialog(); return(DialogResult); }
/// <summary> /// Display this message dialog. /// </summary> /// <param name="message">The message to display.</param> /// <param name="colorScheme">The color scheme to use with the dialog. Use <c>null</c> if already set via property.</param> /// <param name="owner">The owner window of this dialog. Use <c>null</c> if already set via property.</param> /// <param name="title">The window title for this dialog. Use <c>null</c> if already set via property.</param> /// <param name="buttonDisplay">Determine how many buttons should be displayed at the bottom of the dialog, either [OK], [OK] and [Cancel], or [OK] [Discard] and [Cancel].</param> /// <param name="image">The image to display with this dialog.</param> /// <param name="defaultButton">The button to have selected by default when the dialog opens. (DOESN'T CURRENTLY WORK)</param> /// <param name="customOkButtonText">The text to use in the OK button. Use <c>null</c> if already set via property.</param> /// <param name="customCancelButtonText">The text to use in the Cancel button. Use <c>null</c> if already set via property.</param> /// <param name="customDiscardButtonText">The text to use in the Discard button. Use <c>null</c> if already set via property.</param> /// <param name="extraButton1Text">The text to use in the first extra button. If this is set to a null or empty string, this button will not be displayed.</param> /// <param name="extraButton2Text">The text to use in the second extra button. If this is set to a null or empty string, this button will not be displayed.</param> /// <param name="extraButton3Text">The text to use in the third extra button. If this is set to a null or empty string, this button will not be displayed.</param> /// <param name="checkBoxText">The text to use in the check box. If this is set to a null or empty string, the check box will not be displayed.</param> #if NETCOREAPP public MessageDialogResult ShowDialog(string message, ColorScheme?colorScheme = null, Window?owner = null, string title = "Dialog", MessageDialogButtonDisplay buttonDisplay = MessageDialogButtonDisplay.Auto, MessageDialogImage image = MessageDialogImage.None, MessageDialogResult defaultButton = MessageDialogResult.Cancel, string?customOkButtonText = null, string?customCancelButtonText = null, string?customDiscardButtonText = null, string?extraButton1Text = null, string?extraButton2Text = null, string?extraButton3Text = null, string?checkBoxText = null)
public MessageDialogResult ShowDialog(string message, ColorScheme colorScheme = null, Window owner = null, string title = "Dialog", bool showTwoBottomButtons = true, MessageDialogImage image = MessageDialogImage.None, MessageDialogResult defaultButton = MessageDialogResult.Cancel, string customOkButtonText = null, string customCancelButtonText = null, string extraButton1Text = null, string extraButton2Text = null, string extraButton3Text = null, string checkBoxText = null) #endif { txtMessage.Text = message; if (!string.IsNullOrEmpty(title)) { Title = title; } if (colorScheme != null) { SetValue(ColorSchemeProperty, colorScheme); } if (owner != null) { Owner = owner; } if (!string.IsNullOrEmpty(customOkButtonText)) { OkButtonText = customOkButtonText; } if (!string.IsNullOrEmpty(customCancelButtonText)) { CancelButtonText = customCancelButtonText; } btnDiscard.Visibility = Visibility.Collapsed; if (showTwoBottomButtons) { // check if CancelButtonText is still "", as is default if (string.IsNullOrEmpty(CancelButtonText)) { CancelButtonText = "Cancel"; } btnCancel.Content = CancelButtonText; btnOK.Content = OkButtonText; btnCancel.Visibility = Visibility.Visible; btnOK.Visibility = Visibility.Visible; } else if (!string.IsNullOrEmpty(CancelButtonText)) { btnCancel.Content = CancelButtonText; btnOK.Content = OkButtonText; btnCancel.Visibility = Visibility.Visible; btnOK.Visibility = Visibility.Visible; } else { //_oneButtonDialog = true; btnOK.Content = OkButtonText; btnCancel.Visibility = Visibility.Collapsed; btnOK.Visibility = Visibility.Visible; } Image = image; if (!string.IsNullOrEmpty(extraButton1Text)) { ExtraButton1Text = extraButton1Text; } if (!string.IsNullOrEmpty(extraButton2Text)) { ExtraButton2Text = extraButton2Text; } if (!string.IsNullOrEmpty(extraButton3Text)) { ExtraButton3Text = extraButton3Text; } if (!string.IsNullOrEmpty(checkBoxText)) { CheckBoxText = checkBoxText; } bool showExtraButtons = false; if (!string.IsNullOrEmpty(ExtraButton1Text)) { extraButton1.Content = ExtraButton1Text; extraButton1.Visibility = Visibility.Visible; showExtraButtons = true; } if (!string.IsNullOrEmpty(ExtraButton2Text)) { extraButton2.Content = ExtraButton2Text; extraButton2.Visibility = Visibility.Visible; showExtraButtons = true; } if (!string.IsNullOrEmpty(ExtraButton3Text)) { extraButton3.Content = ExtraButton3Text; extraButton3.Visibility = Visibility.Visible; showExtraButtons = true; } if (!string.IsNullOrEmpty(CheckBoxText)) { chkBox.Content = CheckBoxText; chkBox.Visibility = Visibility.Visible; } if (showExtraButtons) { stkExtraButtons.Margin = new Thickness(70, 10, 20, 10); } switch (defaultButton) { case MessageDialogResult.OK: if (btnOK.Visibility == Visibility.Visible) { btnOK.IsDefault = true; } else { btnCancel.IsDefault = true; } break; case MessageDialogResult.Discard: btnDiscard.IsDefault = true; break; case MessageDialogResult.Cancel: btnCancel.IsDefault = true; break; case MessageDialogResult.Extra1: if (extraButton1.Visibility == Visibility.Visible) { extraButton1.IsDefault = true; btnCancel.IsDefault = false; btnOK.IsDefault = false; } else { btnCancel.IsDefault = true; } break; case MessageDialogResult.Extra2: if (extraButton2.Visibility == Visibility.Visible) { extraButton2.IsDefault = true; btnCancel.IsDefault = false; btnOK.IsDefault = false; } else { btnCancel.IsDefault = true; } break; case MessageDialogResult.Extra3: if (extraButton3.Visibility == Visibility.Visible) { extraButton3.IsDefault = true; btnCancel.IsDefault = false; btnOK.IsDefault = false; } else { btnCancel.IsDefault = true; } break; } if (Owner != null) { WindowStartupLocation = WindowStartupLocation.CenterOwner; } else { WindowStartupLocation = WindowStartupLocation.CenterScreen; } base.ShowDialog(); return(DialogResult); }
public MessageDialogResult ShowDialog(string message, ColorScheme?colorScheme = null, Window?owner = null, string title = "Dialog", bool showTwoBottomButtons = true, MessageDialogImage image = MessageDialogImage.None, MessageDialogResult defaultButton = MessageDialogResult.Cancel, string?customOkButtonText = null, string?customCancelButtonText = null, string?extraButton1Text = null, string?extraButton2Text = null, string?extraButton3Text = null, string?checkBoxText = null)
/// <summary> /// Display this message dialog. Use the properties such as <c>OkButtonText</c> or <c>CancelButtonText</c> and <c>Message</c> to control the appearance of the message dialog. /// </summary> public new MessageDialogResult ShowDialog() { //if (string.IsNullOrEmpty(CancelButtonText)) //{ // _oneButtonDialog = true; // btnCancel.Content = OkButtonText; // btnOK.Visibility = Visibility.Collapsed; //} //else //{ // btnCancel.Content = CancelButtonText; // btnOK.Content = OkButtonText; //} if (string.IsNullOrEmpty(CancelButtonText)) { btnCancel.Visibility = Visibility.Collapsed; } else { btnCancel.Visibility = Visibility.Visible; btnCancel.Content = CancelButtonText; } if (string.IsNullOrEmpty(DiscardButtonText)) { btnDiscard.Visibility = Visibility.Collapsed; } else { btnDiscard.Visibility = Visibility.Visible; btnDiscard.Content = DiscardButtonText; } if (string.IsNullOrEmpty(OkButtonText)) { // if Cancel button, Discard button, and Ok button are all null/not shown, reset the Ok button and show that if (btnCancel.Visibility == Visibility.Collapsed && btnDiscard.Visibility == Visibility.Collapsed) { OkButtonText = "OK"; btnOK.Visibility = Visibility.Visible; } else { btnOK.Visibility = Visibility.Collapsed; } } else { btnOK.Content = OkButtonText; btnOK.Visibility = Visibility.Visible; } bool showExtraButtons = false; if (!string.IsNullOrEmpty(ExtraButton1Text)) { extraButton1.Content = ExtraButton1Text; extraButton1.Visibility = Visibility.Visible; showExtraButtons = true; } if (!string.IsNullOrEmpty(ExtraButton2Text)) { extraButton2.Content = ExtraButton2Text; extraButton2.Visibility = Visibility.Visible; showExtraButtons = true; } if (!string.IsNullOrEmpty(ExtraButton3Text)) { extraButton3.Content = ExtraButton3Text; extraButton3.Visibility = Visibility.Visible; showExtraButtons = true; } if (showExtraButtons) { stkExtraButtons.Margin = new Thickness(70, 10, 20, 10); } if (!string.IsNullOrEmpty(CheckBoxText)) { chkBox.Content = CheckBoxText; chkBox.Visibility = Visibility.Visible; } Image = Image; if (Owner != null) { WindowStartupLocation = WindowStartupLocation.CenterOwner; } else { WindowStartupLocation = WindowStartupLocation.CenterScreen; } base.ShowDialog(); return(DialogResult); }
/// <summary> /// Return a 32x32 image to use with a message dialog. If the MessageDialogImage argument is "None", then <c>null</c> is returned. /// </summary> /// <param name="image">The image to display. If "None", then <c>null</c> is returned.</param> /// <param name="color">The color to use for the image. Use black or white for high-contrast themes.</param> /// <returns></returns> #if NETCOREAPP public static BitmapImage?GetImage(MessageDialogImage image, MessageDialogImageColor color)
/// <summary> /// Affiche un message /// </summary> /// <param name="message">le message</param> /// <param name="caption">la légende du message</param> /// <param name="buttons">les boutons proposés à l'utilisateur</param> /// <param name="image">l'image à afficher</param> /// <returns> /// le résultat du choix de l'utilisateur /// </returns> public MessageDialogResult Show(string message, string caption, MessageDialogButton buttons = MessageDialogButton.OK, MessageDialogImage image = MessageDialogImage.None) { var messageDialog = new MessageDialog() { Message = message, Caption = caption, Image = image, Buttons = buttons, Owner = GetCurrentActiveWindow(), }; switch (buttons) { case MessageDialogButton.OK: messageDialog.DefaultButton = MessageDialogResult.OK; break; case MessageDialogButton.OKCancel: messageDialog.DefaultButton = MessageDialogResult.OK; break; case MessageDialogButton.YesNoCancel: messageDialog.DefaultButton = MessageDialogResult.Yes; break; case MessageDialogButton.YesNo: messageDialog.DefaultButton = MessageDialogResult.Yes; break; default: break; } messageDialog.ShowDialog(); return(messageDialog.MessageDialogResult); }