Exemple #1
0
        public static WpfMessageBoxResult Show(
            Action <Window> setOwner,
            string messageBoxText,
            string caption,
            WpfMessageBoxButton button,
            MessageBoxImage icon,
            WpfMessageBoxResult defaultResult,
            MessageBoxOptions options)
        {
            if ((options & MessageBoxOptions.DefaultDesktopOnly) == MessageBoxOptions.DefaultDesktopOnly)
            {
                return(ToWpfMessageBoxResult(MessageBox.Show(messageBoxText,
                                                             caption,
                                                             ToMessageBoxButton(button),
                                                             icon,
                                                             ToMessageBoxResult(defaultResult),
                                                             options)));
            }

            if ((options & MessageBoxOptions.ServiceNotification) == MessageBoxOptions.ServiceNotification)
            {
                return(ToWpfMessageBoxResult(MessageBox.Show(messageBoxText,
                                                             caption,
                                                             ToMessageBoxButton(button),
                                                             icon,
                                                             ToMessageBoxResult(defaultResult),
                                                             options)));
            }

            _messageBoxWindow = new WpfMessageBoxWindow();

            setOwner(_messageBoxWindow);

            PlayMessageBeep(icon);

            _messageBoxWindow._viewModel = new MessageBoxViewModel(_messageBoxWindow, caption, messageBoxText, button,
                                                                   icon, defaultResult, options);
            _messageBoxWindow.DataContext = _messageBoxWindow._viewModel;
            _messageBoxWindow.ShowDialog();
            return(_messageBoxWindow._viewModel.Result);
        }
        public MessageBoxViewModel(
            WpfMessageBoxWindow view,
            string title,
            string message,
            WpfMessageBoxButton buttonOption,
            MessageBoxImage image,
            WpfMessageBoxResult defaultResult,
            MessageBoxOptions options)
        {
            //TextAlignment
            _title       = title;
            Message      = message;
            ButtonOption = buttonOption;
            Options      = options;

            SetDirections(options);
            SetButtonVisibility(buttonOption);
            SetImageSource(image);
            SetButtonDefault(defaultResult);
            _view = view;
        }