private void UpdateCommands() { OpenSessionCommand.RaiseCanExecuteChanged(); CloseSessionCommand.RaiseCanExecuteChanged(); //TakePictureCommand.RaiseCanExecuteChanged();//TODO перепроверить StartLiveViewCommand.RaiseCanExecuteChanged(); RefreshCameraCommand.RaiseCanExecuteChanged(); SetWindowStatus(!_sessionOpened); }
/// <summary> /// Initializes a new instance of the <see cref="SessionManagerToolWindowControl"/> class. /// </summary> public SessionManagerToolWindowControl( SessionManagerToolWindowState state, ISessionManager sessionManager, SaveCurrentSessionCommand saveCurrentSessionCommand, RestoreSessionCommand restoreSessionCommand, OpenSessionCommand openSessionCommand, CloseSessionDocumentsCommand closeSessionDocumentsCommand, DeleteSessionCommand deleteSessionCommand, PackageAccessor packageAccessor) { State = state; SessionManager = sessionManager; _openSessionCommand = openSessionCommand; _package = packageAccessor.Package; RestoreSessionCommand = new RelayCommand( param => _package.JoinableTaskFactory.RunAsync(async() => await restoreSessionCommand.ExecuteAsync(State.SelectedSession))); OpenSessionCommand = new RelayCommand( param => _package.JoinableTaskFactory.RunAsync(async() => await openSessionCommand.ExecuteAsync(State.SelectedSession))); CloseSessionDocumentsCommand = new RelayCommand( param => _package.JoinableTaskFactory.RunAsync(async() => await closeSessionDocumentsCommand.ExecuteAsync(State.SelectedSession))); DeleteSessionCommand = new RelayCommand( param => _package.JoinableTaskFactory.RunAsync(async() => await deleteSessionCommand.ExecuteAsync(State.SelectedSession))); RenameSessionCommand = new RelayCommand( param => _package.JoinableTaskFactory.RunAsync(async() => await RenameSessionAsync())); UpdateSessionCommand = new RelayCommand( param => _package.JoinableTaskFactory.RunAsync(async() => { if (MessageBox.Show($"Documents saved in \"{State.SelectedSession.Name}\" will be replaced with " + $"the currently opened documents. Are you sure you want to continue?", "Confirm", MessageBoxButton.YesNo, MessageBoxImage.Question) != MessageBoxResult.Yes) { return; } await saveCurrentSessionCommand.ExecuteAsync(State.SelectedSession); })); this.InitializeComponent(); }