protected override void InternalSetValue(PropertyBag.BasicPropertyStore propertyBag, object value) { if (!propertyBag.CanIgnoreUnchangedProperties || (this.CompositeProperty.PropertyFlags & PropertyFlags.SetIfNotChanged) == PropertyFlags.SetIfNotChanged || !propertyBag.IsLoaded(this.CompositeProperty) || !object.Equals(this.InternalTryGetValue(propertyBag), value)) { propertyBag.SetValueWithFixup(this.CompositeProperty, value); } }
protected override void InternalSetValue(PropertyBag.BasicPropertyStore propertyBag, object value) { if (propertyBag.CanIgnoreUnchangedProperties && (base.PropertyFlags & PropertyFlags.SetIfNotChanged) != PropertyFlags.SetIfNotChanged && propertyBag.IsLoaded(this) && Util.ValueEquals(value, propertyBag.GetValue(this))) { return; } propertyBag.SetValue(this, value); }