private void ViewModel_OnFinished(object sender, ExtractionFinishedState e) { this.Dispatcher.Invoke(() => { ViewModel.OnFinished -= ViewModel_OnFinished; ViewModel.ExtractionProgress.ProgressChanged -= ExtractionProgress_ProgressChanged; UpdateExtractionProgress(ViewModel.ExtractionFileCount, ViewModel.ExtractionFileCount, true); SetExtractingWindowTitle(ExtractionProgress.Value); if (e == ExtractionFinishedState.Canceled) { this.Cancel.Content = "Canceled"; this.Title = "Canceled " + ViewModel.ArchiveInfo.FileName; } else { if (NotifyOnFinishedCheckBox.IsChecked.Value) { MessageBox.Show(this, "Extraction completed.", "Extraction completed.", MessageBoxButton.OK, MessageBoxImage.Information); } } this.Close(); }); }
public ExtractionEventArgs(string extractedFileName, int extractedCount, string destFolder, ExtractionFinishedState state) { ExtractedFileName = extractedFileName; ExtractedCount = extractedCount; DestinationFolder = destFolder; State = state; }