private void Files_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { if (e.NewItems != null) { foreach (var item in e.NewItems) { if (item is FileViewModel fvm) { OpenDirectoryCommand.CanExecuteDependsOn(fvm, nameof(fvm.IsSelected)); DeleteCommand.CanExecuteDependsOn(fvm, nameof(fvm.IsSelected)); RenameCommand.CanExecuteDependsOn(fvm, nameof(fvm.IsSelected)); } } } if (e.OldItems != null) { foreach (var item in e.OldItems) { if (item is FileViewModel fvm) { OpenDirectoryCommand.RemoveCanExecuteDependency(fvm, nameof(fvm.IsSelected)); DeleteCommand.RemoveCanExecuteDependency(fvm, nameof(fvm.IsSelected)); RenameCommand.RemoveCanExecuteDependency(fvm, nameof(fvm.IsSelected)); } } } OpenDirectoryCommand.RaiseCanExecuteChanged(); DeleteCommand.RaiseCanExecuteChanged(); RenameCommand.RaiseCanExecuteChanged(); }
private void SelectedBlobs_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { SelectedBlob = SelectedBlobs.Count == 1 ? SelectedBlobs[0] : null; DeleteBlobsCommand?.RaiseCanExecuteChanged(); ViewBlobCommand?.RaiseCanExecuteChanged(); RenameCommand?.RaiseCanExecuteChanged(); ExternalOpenCommand?.RaiseCanExecuteChanged(); CopySelectedBlobsCommand?.RaiseCanExecuteChanged(); ShowBlobPropertiesCommand?.RaiseCanExecuteChanged(); DownloadBlobsCommand?.RaiseCanExecuteChanged(); }
void OnSelectedItemChanged(ProjectItem oldValue, ProjectItem newValue) { if (oldValue != null) { oldValue.TextChanged -= OnTextChanged; } if (newValue != null) { newValue.TextChanged += OnTextChanged; } SaveCommand.RaiseCanExecuteChanged(); SaveAsCommand.RaiseCanExecuteChanged(); CloseAllTabsCommand.RaiseCanExecuteChanged(); CloseCurrentTabCommand.RaiseCanExecuteChanged(); AddNewFolderCommand.RaiseCanExecuteChanged(); ContextMenuAddFolderCommand.RaiseCanExecuteChanged(); RenameCommand.RaiseCanExecuteChanged(); }