private void LayoutControl(Widget control) { var gridPosition = GetActualGridPosition(control); var col = gridPosition.X; var row = gridPosition.Y; var cellSize = Point.Zero; for (var i = col; i < col + control.GridSpanX; ++i) { cellSize.X += _colWidths[i]; if (i < col + control.GridSpanX - 1) { cellSize.X += _columnSpacing; } } for (var i = row; i < row + control.GridSpanY; ++i) { cellSize.Y += _rowHeights[i]; if (i < row + control.GridSpanY - 1) { cellSize.Y += _rowSpacing; } } var bounds = ActualBounds; control.Layout(new Rectangle(bounds.Left + _cellLocationsX[col], bounds.Top + _cellLocationsY[row], cellSize.X, cellSize.Y)); }
public override void Arrange() { base.Arrange(); if (Widget == null) { return; } Widget.Layout(ActualBounds); }
private void LayoutControl(Widget control) { var gridPosition = GetActualGridPosition(control); var col = gridPosition.X; var row = gridPosition.Y; var cellSize = Point.Zero; for (var i = col; i < col + control.GridSpanX; ++i) { cellSize.X += _colWidths[i]; } for (var i = row; i < row + control.GridSpanY; ++i) { cellSize.Y += _rowHeights[i]; } control.Layout(new Rectangle(_cellLocationsX[col], _cellLocationsY[row], cellSize.X, cellSize.Y)); }
private void LayoutControl(Widget control) { control.Layout(ActualBounds); }
private void LayoutControl(Widget control) { var gridPosition = GetActualGridPosition(control); var col = gridPosition.X; var row = gridPosition.Y; var cellSize = Point.Zero; for (var i = col; i < col + control.GridColumnSpan; ++i) { cellSize.X += _colWidths[i]; if (i < col + control.GridColumnSpan - 1) { cellSize.X += _columnSpacing; } } for (var i = row; i < row + control.GridRowSpan; ++i) { cellSize.Y += _rowHeights[i]; if (i < row + control.GridRowSpan - 1) { cellSize.Y += _rowSpacing; } } var bounds = ActualBounds; var rect = new Rectangle(bounds.Left + _cellLocationsX[col], bounds.Top + _cellLocationsY[row], cellSize.X, cellSize.Y); if (rect.Right > bounds.Right) { rect.Width = bounds.Right - rect.X; } if (rect.Width < 0) { rect.Width = 0; } if (rect.Width > bounds.Width) { rect.Width = bounds.Width; } if (rect.Bottom > bounds.Bottom) { rect.Height = bounds.Bottom - rect.Y; } if (rect.Height < 0) { rect.Height = 0; } if (rect.Height > bounds.Height) { rect.Height = bounds.Height; } control.Layout(rect); }