private void OnItemJobsChanged(object sender, EventArgs e) { if (DataContext is RefineryAbilityVM) { RefineryAbilityVM viewModel = (RefineryAbilityVM)DataContext; ItemJobs.Items.Clear(); ItemJobs.SuspendLayout(); foreach (var vm in viewModel.ItemJobs) { ItemJobs.Items.Add(new JobUC(vm)); } ItemJobs.ResumeLayout(); } if (DataContext is ConstructionAbilityVM) { ConstructionAbilityVM viewModel = (ConstructionAbilityVM)DataContext; ItemJobs.Items.Clear(); ItemJobs.SuspendLayout(); foreach (var vm in viewModel.ItemJobs) { ItemJobs.Items.Add(new JobUC(vm)); } ItemJobs.ResumeLayout(); } }
private void SetupJobs() { var jobs = DataBlob.JobBatchList; List <JobVM <TDataBlob, TJob> > newJobs = new List <JobVM <TDataBlob, TJob> >(); foreach (var item in jobs) { newJobs.Add(new JobVM <TDataBlob, TJob>(_staticData_, _colonyEntity_, item, this)); } ItemJobs.Clear(); ItemJobs.AddRange(newJobs); }
void _jobCollectionSyncher_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { switch (e.Action) { case NotifyCollectionChangedAction.Add: ItemJobs.Add(new JobVM <TDataBlob, TJob>(_staticData_, _colonyEntity_, (JobBase)e.NewItems[0], this)); break; case NotifyCollectionChangedAction.Move: ItemJobs.Insert(e.NewStartingIndex, new JobVM <TDataBlob, TJob>(_staticData_, _colonyEntity_, (JobBase)e.NewItems[0], this)); break; case NotifyCollectionChangedAction.Replace: break; case NotifyCollectionChangedAction.Reset: break; case NotifyCollectionChangedAction.Remove: ItemJobs.RemoveAt(e.OldStartingIndex); break; } //Refresh(); }