protected override IReadOnlyObservableList <CompoundObjectViewModel> GetValueFromModel() { if (_valueCache == null) { _valueCache = new ReadOnlyObservableProjectedList <ICompoundObject, CompoundObjectViewModel>( ValueModel, ValueModel.Value, obj => CompoundObjectViewModel.Fetch(ViewModelFactory, DataContext, this, obj), mdl => mdl.Object); //_valueCache.CollectionChanged += ValueListChanged; } return(_valueCache); }
protected void EnsureValueCache() { if (_wrapper == null) { _wrapper = new SortedWrapper(ObjectCollectionModel.UnderlyingCollection, ObjectCollectionModel, InitialSortProperty); _valueCache = new ReadOnlyObservableProjectedList <IDataObject, DataObjectViewModel>( _wrapper, obj => DataObjectViewModel.Fetch(ViewModelFactory, DataContext, ViewModelFactory.GetWorkspace(DataContext), obj), mdl => mdl.Object); _valueCache.CollectionChanged += ValueListChanged; } }