public override Size GetPreferredSize(SizeConstraint widthConstraint, SizeConstraint heightConstraint) { var s = EventSink.GetDefaultNaturalSize(); if (child == null) { return(s); } if (widthConstraint.IsConstrained) { s.Width = widthConstraint.AvailableSize; } if (heightConstraint.IsConstrained) { s.Height = heightConstraint.AvailableSize; } var childWidthConstraint = horizontalScrollPolicy == ScrollPolicy.Never ? widthConstraint : SizeConstraint.Unconstrained; var childHeightConstraint = verticalScrollPolicy == ScrollPolicy.Never ? heightConstraint : SizeConstraint.Unconstrained; var schild = ((ViewBackend)child).Frontend.Surface.GetPreferredSize(childWidthConstraint, childHeightConstraint, true); if (horizontalScrollPolicy == ScrollPolicy.Never) { s.Width = Math.Max(s.Width, schild.Width); } if (verticalScrollPolicy == ScrollPolicy.Never) { s.Height = Math.Max(s.Height, schild.Height); } return(s); }
protected override Size GetNaturalSize() { return(EventSink.GetDefaultNaturalSize()); }
protected override Size GetNaturalSize() { var s = base.GetNaturalSize(); return(new Size(EventSink.GetDefaultNaturalSize().Width, s.Height)); }