Пример #1
0
        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();
        }
Пример #2
0
 public OperationManager(MainWindowViewModel vm)
 {
     this.vm = vm;
       instance = this;
 }
Пример #3
0
 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();
 }
Пример #4
0
 public override void Begin(MainWindowViewModel viewModel, DataDriveViewModel selectedDrive = null)
 {
     skipDrive = selectedDrive;
       base.Begin(viewModel, selectedDrive);
 }