public static void Show(Window ownerWindow, AppLoadingException e) { string error_message_fmt = ClassTextReader.Read <ErrorMessageBox>("err_msg_fmt"); string error_message = string.Format(error_message_fmt, e.StepName, e.InnerException.InnerException.GetType().Name); string error_title = ClassTextReader.Read <ErrorMessageBox>("err_title"); if (MessageBox.Show(ownerWindow, error_message, error_title, MessageBoxButton.YesNoCancel, MessageBoxImage.Error) == MessageBoxResult.Yes) { try { Clipboard.SetText($"step name:{e.StepName}\nexception: {e.InnerException.InnerException}"); } catch { } } }
public static void Show(Window ownerWindow, AppLoadingException e) { ownerWindow.Dispatcher.Invoke(() => { var classTextReader = new ClassTextReader(typeof(ErrorMessageBox));//不使用缓存 string error_message_fmt = classTextReader["err_msg_fmt"]; string error_message = string.Format(error_message_fmt, e.StepName, e.InnerException.InnerException.GetType().Name); string error_title = classTextReader["err_title"]; if (MessageBox.Show(ownerWindow, error_message, error_title, MessageBoxButton.YesNoCancel, MessageBoxImage.Error) == MessageBoxResult.Yes) { try { Clipboard.SetText($"step name:{e.StepName}\nexception: {e.InnerException.InnerException}"); } catch { } } }); }