internal override Size GetPreferredSizeCore(Size proposedSize) { // Translating 0,0 from ClientSize to actual Size tells us how much space // is required for the borders. Size borderSize = SizeFromClientSize(Size.Empty); Size totalPadding = borderSize + Padding.Size; return(LayoutEngine.GetPreferredSize(this, proposedSize - totalPadding) + totalPadding); }
Size IArrangedElement.GetPreferredSize(Size constrainingSize) { Size preferredSize = LayoutEngine.GetPreferredSize(this, constrainingSize - Padding.Size) + Padding.Size; if (Orientation == Orientation.Horizontal && ParentInternal != null) { preferredSize.Width = DisplayRectangle.Width; } else { preferredSize.Height = DisplayRectangle.Height; } return(preferredSize); }
public virtual Size GetPreferredSize(Size constrainingSize) { Size preferredSize = LayoutEngine.GetPreferredSize(this, constrainingSize - Padding.Size) + Padding.Size; return(preferredSize); }