Example #1
0
        public static void RemoveAdditionalChild(BindableObject parent, BindableObject child)
        {
            if (ReferenceEquals(parent, null) ||
                ReferenceEquals(child, null))
            {
                return;
            }

            var additionalChildren = Css.GetAdditionalChildren(parent);

            if (additionalChildren == null)
            {
                return;
            }

            additionalChildren.Remove(child);

            if (additionalChildren.Count == 0)
            {
                Css.SetAdditionalChildren(parent, null);
            }

            var domParent = Css.GetDomElement(parent) as DomElement;

            domParent?.ReloadChildren();

            Css.instance?.RemoveElement(child);
        }
Example #2
0
        public static void AddAdditionalChild(BindableObject parent, BindableObject child)
        {
            if (ReferenceEquals(parent, null) ||
                ReferenceEquals(child, null))
            {
                return;
            }

            var additionalChildren = Css.GetAdditionalChildren(parent);

            if (additionalChildren == null)
            {
                additionalChildren = new List <BindableObject>();
                Css.SetAdditionalChildren(parent, additionalChildren);
            }

            additionalChildren.Add(child);

            var domParent = Css.GetDomElement(parent) as DomElement;

            domParent?.ReloadChildren();

            Css.instance?.NewElement(child);
        }