private void CreateSolution() { SetDialog("Creating..."); ThreadManager.Instance.ScheduleTask(() => { var isError = false; var errorMessage = string.Empty; try { CurrentSolutionManager.CreateAggregatedSolution(this.Name, this.CurrentType.Type); } catch (Exception ex) { isError = true; errorMessage = ex.Message; } System.Windows.Application.Current.Dispatcher.Invoke(() => { if (isError) { MessageBox.Show(errorMessage, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } else { _window.Close(); } UnsetDialog(); }); }, string.Empty, _createTaskId); }