private void ActionLog_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { App.Current.Dispatcher.BeginInvoke((Action) delegate { if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Reset) { this.OrgItems.Clear(); } if (e.OldItems != null) { foreach (OrgItem remItem in e.OldItems) { OrgItems.Remove(remItem); } } if (e.NewItems != null) { foreach (OrgItem addItem in e.NewItems) { OrgItems.Add(addItem); } } // OrgItemsCollection.Refresh(); }); }
/// <summary> /// Cancels currently running scan. /// </summary> private void CancelScan() { scanCancelled = true; foreach (Scan scan in scans.Values) { scan.CancelScan(); } this.Progress = 0; this.ProgressMessage = string.Empty; for (int i = OrgItems.Count - 1; i >= 0; i--) { if (OrgItems[i].Action == OrgAction.TBD || OrgItems[i].Action == OrgAction.Processing) { OrgItems.RemoveAt(i); } } }