Пример #1
0
        public ResultMessage DisplayMessage(string message, string caption, MessageButton button, MessageType messageType, DefaultMessageButton defaultResult)
        {
            if (this.baseHost.IsService)
            {
                return(EnumConverter.DefaultMessageButtonToResultMessage(defaultResult));
            }

            if (!this.Dispatcher.CheckAccess())
            {
                return((ResultMessage)this.Dispatcher.Invoke((Func <ResultMessage>)(() => this.DisplayMessage(message, caption, button, messageType, defaultResult))));
            }

            var viewModel = new MessageBoxVm(caption, message, button, messageType, defaultResult);
            var view      = new MessageBoxVw {
                DataContext = viewModel
            };
            var toggleMessageAgent = this.ToggleMessageAgent;

            if ((button == MessageButton.ButtonsOk) && (toggleMessageAgent != null))
            {
                this.OnToggleMessageAgent(true, message, messageType);
            }
            else
            {
                if ((Application.Current != null) && (Application.Current.MainWindow != null))
                {
                    try
                    {
                        view.Owner = Application.Current.MainWindow;
                        view.WindowStartupLocation = WindowStartupLocation.CenterOwner;
                    }
                    catch (Exception)
                    {
                        view.WindowStartupLocation = WindowStartupLocation.CenterScreen;
                    }
                }
                else
                {
                    view.WindowStartupLocation = WindowStartupLocation.CenterScreen;
                }

                this.OnToggleMessageBoxShadow(true);
                view.ShowDialog();
                this.OnToggleMessageBoxShadow(false);

                view.DataContext = null;
            }

            return(viewModel.ResultMessage);
        }
Пример #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MessageBoxVw"/> class.
 /// </summary>
 /// <param name="viewModel">The view model to set.</param>
 public MessageBoxVw(MessageBoxVm viewModel)
 {
     this.InitializeComponent();
     this.DataContext = viewModel;
 }