public ApplicationController(IMessageService messageService, ShellViewModel shellViewModel, SelectDriveViewModel selectDriveViewModel, SelectPatientViewModel selectPatientViewModel, SelectImagesViewModel selectImagesViewModel, ImportImagesViewModel importImagesViewModel) { if (messageService == null) { throw new ArgumentNullException("messageService"); } if (shellViewModel == null) { throw new ArgumentNullException("shellViewModel"); } if (selectDriveViewModel == null) { throw new ArgumentNullException("selectDriveViewModel"); } if (selectImagesViewModel == null) { throw new ArgumentNullException("selectImagesViewModel"); } if (importImagesViewModel == null) { throw new ArgumentNullException("importImagesViewModel"); } _messageService = messageService; _shellViewModel = shellViewModel; _selectDriveViewModel = selectDriveViewModel; _selectPatientViewModel = selectPatientViewModel; _selectImagesViewModel = selectImagesViewModel; _importImagesViewModel = importImagesViewModel; _cancelCommand = new DelegateCommand(Cancel, CanCancel); _backCommand = new DelegateCommand(Back, CanBack); _nextCommand = new DelegateCommand(Next, CanNext); AddWeakEventListener(_shellViewModel, ShellViewModelPropertyChanged); }