public UiContainer(Rectangle displayRectangle, UiControlManager controlManager)
        {
            DisplayRectangle        = displayRectangle;
            UiControls              = new List <UiControl>();
            UiControlPositions      = new Dictionary <UiControl, Vector2>();
            ChildContainers         = new List <UiContainer>();
            ChildContainerPositions = new Dictionary <UiContainer, Vector2>();

            // each container has its own control manager
            if (controlManager == null)
            {
                ControlManager = new UiControlManager();
            }
            else
            {
                ControlManager = controlManager;
            }

            IsEnabled       = true;
            IsVisible       = true;
            Opacity         = 1f;
            BackgroundColor = Color.White;

            FadeInTime  = TimeSpan.FromSeconds(0);
            FadeOutTime = TimeSpan.FromSeconds(0);
            CurrentFade = TimeSpan.FromSeconds(0);
        }
        public UiFlowContainer(Rectangle displayRectangle, UiControlManager controlManager)
            : base(displayRectangle, controlManager)
        {
            FlowDirection = FlowDirection.TopToBottom_LeftToRight;

            CellAlignmentVertical = CellAlignmentVertical.Top;

            CellAlignmentHorizontal = CellAlignmentHorizontal.Left;

            Margin = Vector2.Zero;

            RelativePositionVector = Vector2.Zero;

            RelativePositionRectangle = new Rectangle(0, 0, 0, 0);
        }