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 通常是不必要的,而且如果過度使用,可能會導致效能不佳。 在許多情況下,應用程式程式碼可能會變更版面配置屬性,配置系統可能已經以非同步方式處理更新。 配置系統也有優化,可透過父子式關聯性處理版面配置變更的串聯,而強制使用應用程式程式碼的版面配置可以針對這類優化運作。 不過,在更複雜的案例中,可能會有配置情況,其中強制配置是解決計時問題或其他配置問題的最佳選項。 只要刻意且謹慎地使用它即可。

適用於

另請參閱