private static void UpdatePaddings(ImageSetTarget imageSetTarget, SizeConstraintData changedConstraint)
        {
            var targets = imageSetTarget.FindTargets(changedConstraint);

            foreach (var target in targets)
            {
                var sizeConstraint = target.Constraints.OfType <SizeConstraint>().ToArray();

                foreach (var constraint in sizeConstraint)
                {
                    constraint.UpdatePadding(changedConstraint);
                }
            }
        }
 public static void UpdatePadding(this SizeConstraint constraint, SizeConstraintData data)
 {
     UpdatePadding(constraint, (double)data.ContentWidth / 100, (double)data.ContentWidth / 100);
 }
 private static bool Eqs(dynamic selectableItem, SizeConstraintData sizeConstraintData)
 {
     return(selectableItem.IsSelected &&
            (selectableItem.ImageSetTargets as IEnumerable <ImageSetTarget>)?.Any(x => x.ImageType == sizeConstraintData.ImageType) == true);
 }
        public static IEnumerable <ImageSetTarget> FindTargets(this ImageSetTarget root, SizeConstraintData constraint)
        {
            var result = root.Children
                         .Where(x => x.ImageType == constraint.ImageType)
                         .SelectMany(x => x.Children)
                         .Where(x => string.IsNullOrEmpty(constraint.QualifierName) &&
                                x.Children.Count == 0 ||
                                x.QualifierName == constraint.QualifierName)
                         .SelectMany(x => x.Children.Count == 0 ? new[] { x } : x.Children);

            return(result);
        }