protected override Size MeasureOverride(Size constraint)
{
if (constraint.Width == double.PositiveInfinity || constraint.Height == double.PositiveInfinity)
return Size.Empty;
UpdateScrollInfo(constraint);
foreach (UIElement child in InternalChildren)
{
child.Measure(ChildSize);
}
return constraint;
}
protected override Size ArrangeOverride(Size finalSize)
{
UpdateScrollInfo(finalSize);
for (int i = 0; i < InternalChildren.Count; i++)
{
InternalChildren[i].Arrange(new Rect(new Point(i*ChildSize.Width, 0), ChildSize));
}
return finalSize;
}层层传递的作用,本自定义容器类定义这两个函数提供给它的上层容器调用,上层容器负责给下层的内容分配空间大小,以此来确定整个界面的布局。

本文介绍了自定义容器类中measure和arrange两个关键方法的实现原理。这些方法用于确定子元素的尺寸和位置,从而实现界面布局。文章深入探讨了如何通过层层传递的方式,由上层容器给下层内容分配空间大小。
555

被折叠的 条评论
为什么被折叠?



