protected override Size ArrangeOverride(NonVirtualizingLayoutContext context, Size finalSize) { double offset = 0.0; foreach (var element in context.Children) { element.Arrange(new Rect(0, offset, element.DesiredSize.Width, element.DesiredSize.Height)); offset += element.DesiredSize.Height; } return(finalSize); }
protected override Size MeasureOverride(NonVirtualizingLayoutContext context, Size availableSize) { double extentHeight = 0.0; double extentWidth = 0.0; foreach (var element in context.Children) { element.Measure(availableSize); extentHeight += element.DesiredSize.Height; extentWidth = Math.Max(extentWidth, element.DesiredSize.Width); } return(new Size(extentWidth, extentHeight)); }
Size INonVirtualizingLayoutOverrides.ArrangeOverride(NonVirtualizingLayoutContext context, Size finalSize) { return(ArrangeOverride(context, finalSize)); }
Size INonVirtualizingLayoutOverrides.MeasureOverride(NonVirtualizingLayoutContext context, Size availableSize) { return(MeasureOverride(context, availableSize)); }
void INonVirtualizingLayoutOverrides.UninitializeForContextCore(NonVirtualizingLayoutContext context) { UninitializeForContextCore(context); }
protected virtual Size ArrangeOverride(NonVirtualizingLayoutContext context, Size finalSize) { throw new NotImplementedException(); }
protected virtual Size MeasureOverride(NonVirtualizingLayoutContext context, Size availableSize) { throw new NotImplementedException(); }
protected virtual void UninitializeForContextCore(NonVirtualizingLayoutContext context) { }
public LayoutContextAdapter(NonVirtualizingLayoutContext nonVirtualizingContext) { m_nonVirtualizingContext = new WeakReference <NonVirtualizingLayoutContext>(nonVirtualizingContext); }
protected internal abstract Size ArrangeOverride(NonVirtualizingLayoutContext context, Size finalSize);
protected internal abstract Size MeasureOverride(NonVirtualizingLayoutContext context, Size availableSize);
protected internal virtual void InitializeForContextCore(NonVirtualizingLayoutContext context) { }