/// <summary> /// Create instance of IMessageBox. /// </summary> /// <param name="appMainViewModel">Main app view model.</param> /// <param name="message">Message to show.</param> /// <param name="buttons">Buttons, which want show.</param> /// <param name="images">Image.</param> /// <param name="callBack">Callback function, which is called after user click on button.</param> /// <returns> /// IMesageBox instance. /// </returns> public static IMessageBox CreateMessageBox(IAppMainViewModel appMainViewModel, string message, eMessageBoxButton buttons, eMessageBoxImage images, Action <eMessageBoxResult> callBack) { var ret = new MessageBox(appMainViewModel) { Message = message, Buttons = buttons, Image = images, CallBack = callBack }; InitButtons(buttons, ret); return(ret); }
private static void InitButtons(eMessageBoxButton buttons, MessageBox ret) { switch (buttons) { case eMessageBoxButton.OK: case eMessageBoxButton.OKCancel: ret.Commands.Add(new RelayCommand(p => ret.Close(eMessageBoxResult.OK)) { DisplayName = "ok" }); if (buttons == eMessageBoxButton.OKCancel) { ret.Commands.Add(new RelayCommand(p => ret.Close(eMessageBoxResult.Cancel)) { DisplayName = "cancel" }); } break; case eMessageBoxButton.YesNo: case eMessageBoxButton.YesNoCancel: ret.Commands.Add(new RelayCommand(p => ret.Close(eMessageBoxResult.Yes)) { DisplayName = "yes" }); ret.Commands.Add(new RelayCommand(p => ret.Close(eMessageBoxResult.No)) { DisplayName = "no" }); if (buttons == eMessageBoxButton.YesNoCancel) { ret.Commands.Add(new RelayCommand(p => ret.Close(eMessageBoxResult.Cancel)) { DisplayName = "ok" }); } break; } }
/// <summary> /// Show message box with message, specific buttons end image. /// </summary> /// <param name="message">Message to show.</param> /// <param name="buttons">Buttons, which want show.</param> /// <param name="images">Image.</param> /// <param name="callBack">Callback function, which is called after user click on button.</param> public void ShowMessageBox(string message, eMessageBoxButton buttons, eMessageBoxImage images, Action <eMessageBoxResult> callBack) { _appMainViewModel.MessageBox = MessageBox.CreateMessageBox(_appMainViewModel, message, buttons, images, callBack); }