private CompoundObjectViewModel GetObjectFromProxy(CompoundObjectViewModelProxy p) { if (p.Object == null) { var obj = DataContext.CreateCompoundObject(DataContext.GetInterfaceType(this.ValueModel.CompoundObjectDefinition.GetDataType())); p.Object = CompoundObjectViewModel.Fetch(ViewModelFactory, DataContext, this, obj); _proxyCache[p.Object.Object] = p; } return(p.Object); }
private CompoundObjectViewModelProxy GetProxy(ICompoundObject obj) { CompoundObjectViewModelProxy result; if (!_proxyCache.TryGetValue(obj, out result)) { result = new CompoundObjectViewModelProxy() { Object = CompoundObjectViewModel.Fetch(ViewModelFactory, DataContext, this, obj) }; _proxyCache[obj] = result; } return(result); }