예제 #1
0
        public void AddChild(UIView subView, int row = 0, int column = 0, int rowSpan = 1, int columnSpan = 1, 
                               bool autoHeight = true, bool autoWidth = true, GridHorizontalAlignment horizontalAlingment = GridHorizontalAlignment.Stretch, 
                               GridVerticalAlignment verticalAlingment = GridVerticalAlignment.Stretch, 
                               SubViewThickness margin = default(SubViewThickness))
        {
            GridSubViewMeasure subViewMeasure = new GridSubViewMeasure()
            {Row = row, Column = column, RowSpan = rowSpan, ColumnSpan = columnSpan,
                AutoWidth = autoWidth, AutoHeight = autoHeight, 
                HorizontalAlignment = horizontalAlingment, VerticalAlignment = verticalAlingment,
                Margin = margin, Width = subView.Frame.Width, Height = subView.Frame.Height
            };

            __measures.Add(subView, subViewMeasure);
            RectangleF subViewFrame = this.CalculateMeasure(subViewMeasure);
            subView.Frame = subViewFrame;
            this.Add(subView);
        }
        internal static ElementClassSet Class(GridVerticalAlignment alignment)
        {
            switch (alignment)
            {
            case GridVerticalAlignment.Top:
                return(topClass);

            case GridVerticalAlignment.Bottom:
                return(bottomClass);

            case GridVerticalAlignment.Center:
                return(centerClass);

            case GridVerticalAlignment.Stretch:
                return(stretchClass);

            default:
                return(ElementClassSet.Empty);
            }
        }
        public void SetVerticalAlignment(UIView subView, GridVerticalAlignment verticalAlignment)
        {
            if (!__measures.ContainsKey(subView))
                throw new ArgumentException("The SubView is not in the Grid");

            __measures[subView].VerticalAlignment = verticalAlignment;
            this.UpdateInnerChild(subView);
        }