AbcContextualPropertyValue IAbcVisual.GetContextualPropertyValue(AbcContextualPropertyKey propertyKey) { AbcContextualPropertyValue propertyValue = null; this.contextualProperties?.TryGetValue(propertyKey.key, out propertyValue); return(propertyValue); }
void IAbcVisual.SetContextualPropertyValue(AbcContextualPropertyKey propertyKey, AbcContextualPropertyValue propertyValue) { if (this.contextualProperties == null) { this.contextualProperties = new Dictionary <int, AbcContextualPropertyValue>(); } EventHandler <AbcContextualPropertyValueChangedEventArgs> propertyChanged = this.contextualPropertyValueChanged; AbcContextualPropertyValue oldPropertyValue = null; if (propertyChanged != null) { this.contextualProperties.TryGetValue(propertyKey.key, out oldPropertyValue); } this.contextualProperties[propertyKey.key] = propertyValue; propertyChanged?.Invoke(this, new AbcContextualPropertyValueChangedEventArgs(propertyKey, oldPropertyValue, propertyValue)); }
public AbcContextualPropertyValueChangedEventArgs(AbcContextualPropertyKey propertyKey, AbcContextualPropertyValue oldPropertyValue, AbcContextualPropertyValue newPropertyValue) { this.propertyKey = propertyKey; this.oldPropertyValue = oldPropertyValue; this.newPropertyValue = newPropertyValue; }