0

据我了解,在测量期间,滚动查看器将首先传递其父级的可用大小,例如宽度为 10,高度为 10

尽管有一个 10x10 区域可用,但它会在测量其子级时将其子级(无穷大,无穷大)作为可用大小。

我很好奇接下来会发生什么。孩子们将采用该尺寸,并向滚动查看器制作请求的尺寸。如果请求的子项大小大于滚动查看器的可用大小,滚动查看器是否采用子项的大小或滚动查看器可用的大小?

然后滚动查看器的宽度和高度是否被修改或仅滚动查看器的实际宽度和实际高度?

4

1 回答 1

1

布局过程是一个两步过程。第一个对象接收 Measure 请求,通常传递给它们的 Size 很大,因为此请求应返回控件所需的大小。滚动查看器将计算它完全需要的大小并返回它。它实际上会询问孩子们的总尺寸要求是多少。

下一步将是安排步骤,每个控件接收可用大小。滚动查看器现在将收到它需要约束自己及其子项的实际大小。

布局过程永远不会修改宽度和高度,而是用实际大小填充 ActualWidth 和 ActualHeight。

于 2013-07-11T06:17:33.053 回答