protected override object InternalTryGetValue(PropertyBag.BasicPropertyStore propertyBag)
        {
            string text = propertyBag.GetValueOrDefault <string>(this.CompositeProperty);

            if (!propertyBag.IsDirty(this.CompositeProperty) && this.IsAtomOrRulePropertyDirty(propertyBag))
            {
                text = this.GenerateCompositePropertyValue(propertyBag);
            }
            return(text ?? new PropertyError(this, PropertyErrorCode.NotFound));
        }
 protected bool IsAtomOrRulePropertyDirty(PropertyBag.BasicPropertyStore propertyBag)
 {
     foreach (NativeStorePropertyDefinition propertyDefinition in this.atomAndRuleProperties)
     {
         if (propertyBag.IsDirty(propertyDefinition))
         {
             return(true);
         }
     }
     return(false);
 }
Beispiel #3
0
 protected override bool InternalIsDirty(PropertyBag.BasicPropertyStore propertyBag)
 {
     return(propertyBag.IsDirty(this));
 }
 protected override bool InternalIsDirty(PropertyBag.BasicPropertyStore propertyBag)
 {
     foreach (PropertyDependency propertyDependency in this.dependencies)
     {
         if ((propertyDependency.Type & PropertyDependencyType.NeedForRead) == PropertyDependencyType.NeedForRead && propertyBag.IsDirty(propertyDependency.Property))
         {
             return(true);
         }
     }
     return(false);
 }