public SelectUpdatesViewModel() { Title = "Select the updates you want to install"; Products = new CollectionViewSource {Source = ProductList}; Products.GroupDescriptions.Add(new PropertyGroupDescription("Product.IsUpgrade", new IsUpgradeToNiceConverter())); var loc = new LocalServiceLocator(); _updateService = loc.UpdateService; CoApp = loc.CoAppService; Save = new RelayCommand(() => { Parallel.ForEach(ProductList.ToArray(), i => { if (i.IsSelected) { _updateService. SelectProduct( i.Product); } else _updateService. UnselectProduct( i.Product); }); loc.NavigationService.GoTo(ViewModelLocator.PrimaryViewModelStatic); }); ElevateBlock = new RelayCommand<SelectableProduct>(ExecuteElevateBlock, p => true); Block = new RelayCommand<SelectableProduct>(ExecuteBlock, p => true); Loaded += OnLoaded; }