public MainWindow() { viewModel = new MainWindowViewModel(this); DataContext = viewModel; Initialized += HandleInitialized; Loaded += HandleLoaded; Closed += HandleClosed; Closing += HandleClosing; InitializeComponent(); timer = new DispatcherTimer(); timer.Tick += HandleTimer; timer.Interval = new TimeSpan(0, 0, 1); timer.Start(); }
public OperationManager(MainWindowViewModel vm) { this.vm = vm; instance = this; }
public virtual void Begin(MainWindowViewModel viewModel, DataDriveViewModel selectedDrive = null) { cancelled = false; this.viewModel = viewModel; viewModel.ParitySet.ErrorMessage += HandleErrorMessage; viewModel.StartProgress(); startTime = DateTime.Now; inProgress = true; drive = selectedDrive; errorMessages.Clear(); if (ScanFirst && viewModel.Drives.Count > 0) { scanning = true; viewModel.Status = "Scanning drives..."; runningScans = 0; scanProgress = new double[viewModel.Drives.Count]; foreach (DataDriveViewModel vm in viewModel.Drives) if ((scanDrive != null && vm == scanDrive) || (scanDrive == null && vm != skipDrive)) { Interlocked.Increment(ref runningScans); vm.PropertyChanged += HandleDataDrivePropertyChanged; vm.DataDrive.ScanCompleted += HandleScanCompleted; vm.Scan(auto); // runs in a separate Task } } else Run(); }
public override void Begin(MainWindowViewModel viewModel, DataDriveViewModel selectedDrive = null) { skipDrive = selectedDrive; base.Begin(viewModel, selectedDrive); }