internal AutoResponseFlagProperty(string displayName, MessageFlags flag, AutoResponseSuppress suppressFlag) : base(displayName, typeof(bool), PropertyFlags.ReadOnly, PropertyDefinitionConstraint.None, new PropertyDependency[] { new PropertyDependency(InternalSchema.Flags, PropertyDependencyType.NeedForRead), new PropertyDependency(InternalSchema.AutoResponseSuppressInternal, PropertyDependencyType.NeedForRead) }) { this.suppressMask = suppressFlag; this.nativeFlag = flag; }
protected override void InternalSetValue(PropertyBag.BasicPropertyStore propertyBag, object value) { AutoResponseSuppress autoResponseSuppress = (AutoResponseSuppress)value; foreach (KeyValuePair <NativeStorePropertyDefinition, AutoResponseSuppress> keyValuePair in AutoResponseSuppressProperty.SuppressionMapping) { if ((autoResponseSuppress & keyValuePair.Value) == keyValuePair.Value) { propertyBag.SetValueWithFixup(keyValuePair.Key, false); } } propertyBag.SetValueWithFixup(InternalSchema.AutoResponseSuppressInternal, (int)value); }