public override void TopDownReArrangeContent() { #if DEBUG vinv_dbug_EnterLayerReArrangeContent(this); #endif //--------------------------------- //this.BeginLayerLayoutUpdate(); //--------------------------------- if (gridCols != null && gridCols.Count > 0) { int curY = 0; foreach (GridRow rowDef in gridRows.GetRowIter()) { rowDef.AcceptDesiredHeight(curY); curY += rowDef.Height; } int curX = 0; foreach (GridColumn gridCol in gridCols.GetColumnIter()) { SetLeftAndPerformArrange(gridCol, curX); curX += gridCol.Width; } } ValidateArrangement(); //--------------------------------- //this.EndLayerLayoutUpdate(); #if DEBUG vinv_dbug_ExitLayerReArrangeContent(); #endif }
// // // public void TopDownReArrangeContent() // { //#if DEBUG // //vinv_dbug_EnterLayerReArrangeContent(this); //#endif // //--------------------------------- // //this.BeginLayerLayoutUpdate(); // //--------------------------------- // if (_gridCols != null && _gridCols.Count > 0) // { // int curY = 0; // foreach (GridRow rowDef in _gridRows.GetRowIter()) // { // rowDef.AcceptDesiredHeight(curY); // curY += rowDef.Height; // } // int curX = 0; // foreach (GridColumn gridCol in _gridCols.GetColumnIter()) // { // SetLeftAndPerformArrange(gridCol, curX); // curX += gridCol.Width; // } // } // _validSize = true; // //--------------------------------- // //this.EndLayerLayoutUpdate(); //#if DEBUG // // vinv_dbug_ExitLayerReArrangeContent(); //#endif // } //static void SetLeftAndPerformArrange(GridColumn col, int left) //{ // int prevWidth = col.Width; // if (!col.HasCustomSize) // { // col.Width = col.CalculatedWidth; // } // col.Left = left; // int j = col.CellCount; // int dW = col.Width; // for (int i = 0; i < j; ++i) // { // var content = col.GetCell(i).ContentElement as RenderElement; // if (content != null) // { // //RenderElement.DirectSetVisualElementWidth(content, dW); // //if (content.IsVisualContainerBase) // //{ // // ArtVisualContainerBase vscont = (ArtVisualContainerBase)content; // // vscont.InvalidateContentArrangementFromContainerSizeChanged(); // // vscont.TopDownReArrangeContentIfNeed(vinv); // //} // } // } //} public IEnumerable <RenderElement> GetRenderElementIter() { if (_gridCols != null && _gridCols.Count > 0) { foreach (GridColumn gridCol in _gridCols.GetColumnIter()) { foreach (var gridCell in gridCol.GetTopDownGridCellIter()) { if (gridCell.ContentElement is RenderElement re) { yield return(re); } } } } }