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; Save = new RelayCommand(() => { Parallel.ForEach(ProductList.ToArray(), i => { if (i.IsSelected) { _updateService. SelectProduct( i.Product); } else _updateService. UnselectProduct( i.Product); // go to primary page }); loc.NavigationService.GoTo(ViewModelLocator.PrimaryViewModelStatic); }); BlockProduct = new RelayCommand<SelectableProduct>(p => _updateService.BlockProduct(p.Product)); Loaded += OnLoaded; }