private void CanExecuteCommandOnPackage(object sender, CanExecuteRoutedEventArgs e) { if (OperationCoordinator.IsBusy) { e.CanExecute = false; return; } VSExtensionsExplorerCtl control = e.Source as VSExtensionsExplorerCtl; if (control == null) { e.CanExecute = false; return; } PackageItem selectedItem = control.SelectedExtension as PackageItem; if (selectedItem == null) { e.CanExecute = false; return; } try { e.CanExecute = selectedItem.IsEnabled; } catch (Exception) { e.CanExecute = false; } }
private void ExecutedPackageCommand(object sender, ExecutedRoutedEventArgs e) { if (OperationCoordinator.IsBusy) { return; } VSExtensionsExplorerCtl control = e.Source as VSExtensionsExplorerCtl; if (control == null) { return; } PackageItem selectedItem = control.SelectedExtension as PackageItem; if (selectedItem == null) { return; } PackagesProviderBase provider = control.SelectedProvider as PackagesProviderBase; if (provider != null) { try { provider.Execute(selectedItem); } catch (Exception exception) { MessageHelper.ShowErrorMessage(exception, NuGet.Dialog.Resources.Dialog_MessageBoxTitle); ExceptionHelper.WriteToActivityLog(exception); } } }