/// <summary> /// Does cleanup work when worker is complete. /// </summary> /// <param name="sender"> /// RunWorkerCompleted event. /// </param> /// <param name="e">RunWorkerCompleted event arguments.</param> /// <history> /// Sean Patterson 11/1/2010 [Created] /// </history> private void allPostsWorker_RunWorkerCompleted (object sender, RunWorkerCompletedEventArgs e) { WorkerArgs myArgs = (WorkerArgs)e.Result; StringBuilder ProgressText = new StringBuilder(); ProgressText.AppendLine(txtStatus.Text); if (e.Cancelled) { UpdateStatusText("Process cancelled."); UpdateStatusBar("Process cancelled."); } else if (e.Error != null) { UpdateStatusText("Error with process. Process halted."); UpdateStatusBar("Process halted."); } else { // Use an observable collection to properly bind/update the // ListView PostCollection.Clear(); if ((App.sourceBlog.blogPosts.Count) > 0 || (App.sourceBlog.blogData != null)) { if (App.sourceBlog.blogPosts.Count > 0) { foreach (Post postItem in App.sourceBlog.blogPosts) { PostData myPost = new PostData(postItem); PostCollection.Add(myPost); } btnMigrate.IsEnabled = true; btnSelectAllPosts.IsEnabled = true; } else { for (int i = 0; i <= App.sourceBlog.blogData.posts.Length - 1; i++) { PostData myPost = new PostData(App.sourceBlog.blogData.posts[i]); PostCollection.Add(myPost); } btnMigrate.IsEnabled = true; btnSelectAllPosts.IsEnabled = true; } } lsvAllPosts.ItemsSource = PostCollection; lblEntriesCount.Content = "[" + PostCollection.Count + " Total]"; UpdateStatusText("Process complete."); UpdateStatusBar("Process complete."); } }