BitmapSource IUnitPreviewProvider.this[int modelIndex] { get { Task loadTask = LoadAsync(); UnitPreviewHandle previewHandle = _previewHandles.GetOrAdd(modelIndex, new UnitPreviewHandle()); return(previewHandle.UnitModel.Icon); } }
private void Load() { foreach (UnitModel unit in Mod.Model.Data.UnitModels.Values) { UnitModelVM newVM = CreateItem(unit); UnitPreviewHandle previewHandle = _previewHandles.GetOrAdd(unit.ID, new UnitPreviewHandle()); previewHandle.UnitModel = newVM; Items.Dispatcher.InvokeAsync(() => _collection.Add(newVM), DispatcherPriority.Background); } }