private void DoWorkEvent(object sender, DoWorkEventArgs e) { CanExecuteCancel = true; IsIdle = false; using (var c = new CursorHelper(this)) { var res = queryService.QueryDuplicates(bgw, e, startPath, string.IsNullOrEmpty(filter) ? "*.*" : filter); System.Windows.Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate { res.ForEach(x => Duplicates.Add(x)); })); } ProgressPercent = 0; CanExecuteCancel = false; IsIdle = true; }
private void HandleImport() { OpenFileDialog dlg = new OpenFileDialog(); dlg.Title = "Import duplicates from file"; var res = dlg.ShowDialog(); if (res == DialogResult.OK) { using (var c = new CursorHelper(this)) { using (Stream reader = new FileStream(dlg.FileName, FileMode.Open)) { XmlSerializer mySerializer = new XmlSerializer(typeof(ObservableCollection <SingleFileEntry>)); var items = (ObservableCollection <SingleFileEntry>)mySerializer.Deserialize(reader); Duplicates.Clear(); foreach (var i in items) { Duplicates.Add(i); } } } } }