/// <summary> /// Handles the Click event of the btnFindReferences control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="RoutedEventArgs"/> instance containing the event data.</param> private void btnFindReferences_Click(object sender, RoutedEventArgs e) { if (this.SharedStepsInitialViewModel.SelectedSharedStep == null) { ModernDialog.ShowMessage("No shared step selected.", "Warning", MessageBoxButton.OK); return; } progressBar.Visibility = System.Windows.Visibility.Visible; mainGrid.Visibility = System.Windows.Visibility.Hidden; this.SharedStepsInitialViewModel.ObservableTestCases.Clear(); List <TestCase> filteredTestCases = new List <TestCase>(); Task t = Task.Factory.StartNew(() => { log.InfoFormat("Find all reference Test Cases for Shared Step with id: {0} ", this.SharedStepsInitialViewModel.SelectedSharedStep.Id); filteredTestCases = TestCaseManager.FindAllReferenceTestCasesForShareStep(ExecutionContext.TestManagementTeamProject, ExecutionContext.Preferences.TestPlan, this.SharedStepsInitialViewModel.SelectedSharedStep.Id); this.SharedStepsInitialViewModel.InitialTestCaseCollection = filteredTestCases; }); t.ContinueWith(antecedent => { filteredTestCases = this.SharedStepsInitialViewModel.FilterTestCases(); filteredTestCases.ForEach(tc => this.SharedStepsInitialViewModel.ObservableTestCases.Add(tc)); this.SharedStepsInitialViewModel.TestCasesCount = filteredTestCases.Count.ToString(); progressBar.Visibility = System.Windows.Visibility.Hidden; mainGrid.Visibility = System.Windows.Visibility.Visible; }, TaskScheduler.FromCurrentSynchronizationContext()); }