UIElement.InvalidateArrange 方法

定义

使 UIElement 的排列状态 (布局) 无效。 无效后, UIElement 将更新其布局,这将异步发生。

public:
 virtual void InvalidateArrange() = InvalidateArrange;
void InvalidateArrange();
public void InvalidateArrange();
function invalidateArrange()
Public Sub InvalidateArrange ()

注解

当方向发生更改时,维护其自己的方向属性的控件可能会调用 InvalidateArrange,以重新构建新方向的布局。 在可用大小不足且逻辑允许使用不同可用大小的备用布局策略的情况下,也可以从自定义布局逻辑内部调用 InvalidateArrange。

UpdateLayout 基本上相当于按顺序调用 InvalidateMeasure 和 InvalidateArrange。

布局更新可由应用代码强制执行,而不是依赖于内置布局系统行为。 但是,通常不建议这样做。 调用 InvalidateArrange、 InvalidateMeasureUpdateLayout 通常是不必要的,如果过度使用,可能会导致性能不佳。 在许多情况下,应用代码可能会更改布局属性,布局系统可能已在异步处理更新。 布局系统还针对通过父子关系处理布局更改的级联进行了优化,并且使用应用代码强制布局可以对抗此类优化。 不过,布局情况可能存在于更复杂的方案中,即强制布局是解决计时问题或其他布局问题的最佳选择。 只是故意和谨慎地使用它。

适用于

另请参阅