Exemple #1
0
        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);
        }
Exemple #2
0
 protected override Size GetNaturalSize()
 {
     return(EventSink.GetDefaultNaturalSize());
 }
Exemple #3
0
        protected override Size GetNaturalSize()
        {
            var s = base.GetNaturalSize();

            return(new Size(EventSink.GetDefaultNaturalSize().Width, s.Height));
        }