public void RegisterPropertyReferenceChangedHandler(PropertyReference propertyReference, Microsoft.Expression.DesignSurface.Documents.PropertyReferenceChangedEventHandler handler, bool includeSubpropertyChanges) { PropertyManager.HandlerInfo handlerInfo = new PropertyManager.HandlerInfo(handler, includeSubpropertyChanges); if (this.deferUpdateHandlerList > 0) { this.deferredAddHandlerPairs.Add(new KeyValuePair <PropertyReference, PropertyManager.HandlerInfo>(propertyReference, handlerInfo)); } else { this.DeferredRegisterPropertyReferenceChangedHandler(propertyReference, handlerInfo); } }
private void DeferredRegisterPropertyReferenceChangedHandler(PropertyReference propertyReference, PropertyManager.HandlerInfo handlerInfo) { if (this.propertyReferenceChangedHandlerList.ContainsKey(propertyReference)) { this.propertyReferenceChangedHandlerList[propertyReference].Add(handlerInfo); } else { this.propertyReferenceChangedHandlerList[propertyReference] = new List <PropertyManager.HandlerInfo>() { handlerInfo } }; }