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); }
/// <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; }