本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语

UIElement.Measure 方法 (Size)

 

发布日期: 2016年7月

更新 UIElementDesiredSize 父元素从其自身的 MeasureCore 实现调用此方法以形成递归布局更新。 调用此方法构成布局更新的第一个处理过程(“测量”处理过程)。

命名空间:   System.Windows
程序集:  PresentationCore(位于 PresentationCore.dll)

public void Measure(
	Size availableSize
)

参数

availableSize
Type: System.Windows.Size

父元素可以为子元素分配的可用空间。 子元素可以请求大于可用空间的空间;如果可在当前元素的内容模型中进行滚动,则提供的大小可以适应此空间。

计算中的布局位置 Windows Presentation Foundation (WPF) 组成 Measure 调用和 Arrange 调用。 在过程 Measure 调用中,元素确定其大小要求使用 availableSize 输入。 在过程 Arrange 完成调用时,元素大小。

availableSize 可以是从零到无限的任意数字。 参与布局的元素应返回所需的最低 Size 它们需要来进行给定 availableSize

当首次实例化一个布局时,它总是会收到 Measure 之前调用 Arrange 但是后第一个布局处理过程,, 它可能会收到 Arrange 调用而无需 Measure; 这可能会在一个属性,它只影响 Arrange 更改 (如对齐方式),或者父接收到 Arrange 而无需 Measure 一个 Measure 呼叫将自动使失效 Arrange 调用。

布局更新异步发生,这样,主线程无需等待每个可能的布局更改。 查询通过隐藏代码检查的属性值的元素可能不会立即反映对与大小或布局特征进行交互的属性的更改 ( Width 属性,例如)。

System_CAPS_note说明

可以通过强制布局更新 UpdateLayout 方法。 但是,调用此方法通常不必并且可能导致性能下降。

布局系统保持两个单独的队列的一些无效的布局,一个用于 Measure ,另一个用于 Arrange 根据进行布局; 该元素的可视化树中元素的顺序排序布局队列在树中较高级别的元素位于队列,以避免父项中的重复更改导致冗余的布局的顶部。 从队列中,自动删除了重复项,元素将自动从队列中移除它们是否已布局验证。

更新布局时, Measure 队列时被清空第一次后, 跟 Arrange 队列。 中的某个元素 Arrange 队列中的某个元素是否就绝不会排列 Measure 队列。

.NET Framework
自 3.0 起可用
Silverlight
自 2.0 起可用
Windows Phone Silverlight
自 7.0 起可用
返回页首
显示: