public ManualPackagingInfoViewModel(ManualPackagingInfo manualPackagingInfo, ProjectViewModel projectViewModel) { _manualPackagingInfo = manualPackagingInfo; RegisterModel(_manualPackagingInfo); _nonePackage = CreatePackageViewModel(new Package() { Name = "None" }); _packages = new UndoableObservableCollection <PackageViewModel, Package>(_manualPackagingInfo.Packages, CreatePackageViewModel); _packages.CollectionChanged += _packages_CollectionChanged; _defaultLanguagePackageIds = new UndoableObservableCollection <LanguagePackageIdsViewModel, LanguagePackageIds>(_manualPackagingInfo.DefaultLanguagePackageIds, CreateLanguagePackageIdsViewModel); // Init Package per ID foreach (PackageViewModel item in _packages) { RegisterPackage(item); } _resultingItemsWorker.DoWork += ResultingItemsWorker_DoWork; _resultingItemsWorker.WorkerSupportsCancellation = true; projectViewModel.PropertyChanged += ProjectViewModel_PropertyChanged; }
public PackageViewModel(Package package, ManualPackagingInfoViewModel manualPackagingInfo) { _package = package; RegisterModel(_package); _manualPackagingInfo = manualPackagingInfo; _items = new UndoableObservableCollection <PackageContentItemViewModel, PackageContentItem>(_package.Items, CreatePackageContentItemViewModel); _layoutItems = new UndoableObservableCollection <LayoutContentItemViewModel, ContentItemBase>(_package.LayoutItems, CreateContentItemBaseViewModel); _resultingItems = new ObservableCollection <ContentItemViewModelReference>(); _items.CollectionChanged += _items_CollectionChanged; _resultingItems.CollectionChanged += _resultingItems_CollectionChanged; _layoutItems.CollectionChanged += _layoutItems_CollectionChanged; _sizeSumWorker.DoWork += SizeSumWorker_DoWork; _sizeSumWorker.RunWorkerCompleted += SizeSumWorker_RunWorkerCompleted; _sizeSumWorker.WorkerSupportsCancellation = true; PropertyChanged += PackageViewModel_PropertyChanged; _manualPackagingInfo.PropertyChanged += ManualPackagingInfo_PropertyChanged; }