示例#1
0
 public virtual void RemoveChild(SupportContainer child)
 {
     if (child.Parent == this)
     {
         child.Parent = null;
     }
 }
 public override void AddChild(SupportContainer child)
 {
     base.AddChild(child);
     if (child is SupportView)
     {
         (child as SupportView).AddThisView();
     }
 }
        public object FindParent(object childView, IEnumerable <ContainerBinding> containerBindings)
        {
            SupportContainer supportView = childView as SupportContainer;

            while (supportView != null && supportView.Parent != null)
            {
                foreach (ContainerBinding containerBinding in containerBindings)
                {
                    if (containerBinding.Container == supportView.Parent)
                    {
                        return(containerBinding.Container);
                    }
                }
                supportView = supportView.Parent;
            }
            return(null);
        }
        public bool Contains(object parentContainer, object childContainer)
        {
            SupportContainer parentSupport = parentContainer as SupportContainer;
            SupportContainer childSupport  = childContainer as SupportContainer;

            if (parentSupport == null || childContainer == null)
            {
                return(false);
            }

            while (childSupport != null)
            {
                if (childSupport.Parent == parentSupport)
                {
                    return(true);
                }

                childSupport = childSupport.Parent;
            }
            return(false);
        }
示例#5
0
 public virtual void AddChild(SupportContainer child)
 {
     _childCount++;
     child.Parent = this;
 }