private void LocalPackagesOnCollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { switch (e.Action) { case NotifyCollectionChangedAction.Add: foreach (var item in e.NewItems) { LocalPackages.Add(new PackageViewModel(dynamoViewModel, item as Package)); } break; case NotifyCollectionChangedAction.Remove: foreach (var item in e.OldItems) { LocalPackages.Remove(_localPackages.ToList().First(x => x.Model == item)); } break; case NotifyCollectionChangedAction.Reset: LocalPackages.Clear(); break; } RaisePropertyChanged("LocalPackages"); }
private void InitializeLocalPackages() { foreach (var pkg in Model.LocalPackages) { LocalPackages.Add(new PackageViewModel(this.dynamoViewModel, pkg)); } this.Model.PackageAdded += (pkg) => { LocalPackages.Add(new PackageViewModel(dynamoViewModel, pkg)); RaisePropertyChanged("LocalPackages"); }; this.Model.PackageRemoved += (pkg) => { LocalPackages.Remove(_localPackages.ToList().First(x => x.Model == pkg)); RaisePropertyChanged("LocalPackages"); }; }