/// <summary> /// The value of pre-cascade property has changed /// </summary> /// <param name="Stage"></param> /// <param name="Property"></param> private void Property_onChanged(EPropertyStage Stage, ICssProperty Property) { SetProperties.SetFlag(Property.CssName.Value, Property.HasValue); /*if (!Property.HasValue) SetProperties.Remove(Property.CssName); * else SetProperties.Add(Property.CssName);*/ if (Property.CssName is null) { throw new Exception($"Cannot fire onChange events for unnamed property! (Name: {Property.CssName}"); } StyleDefinition def = CssDefinitions.StyleDefinitions[Property.CssName]; if (def is null) { throw new Exception($"Cannot find a definition for Css property: \"{Property.CssName}\""); } EPropertyDirtFlags Flags = def.Flags; StackTrace Stack = null; #if DEBUG //stack = new StackTrace(STACK_FRAME_OFFSET, true); #endif Property_Changed?.Invoke(Stage, Property, Flags, Stack); }
private void CheckIsGrow(Property_Changed <bool> context) { CheckIsGrow(context.NewValue); }