UIElement.InvalidateMeasure 方法

定義

使項目的測量狀態 (配置) 失效。

C#
public void InvalidateMeasure();

備註

呼叫這個方法也會在內部呼叫 InvalidateArrange ,不需要連續呼叫 InvalidateMeasureInvalidateArrange 。 在失效之後,除非呼叫 以強制同步配置變更,否則 UpdateLayout 元素會更新其配置,這會以非同步方式發生。

WPF 架構層級版面配置系統會自行處理元素視覺化樹狀結構中的變更,而且在最常見的版面配置失效案例中,版面配置系統會在必要時呼叫對等的這個方法。 只有在產生完整的版面配置實作時,才應該呼叫此方法,此實作會直接操作專案樹狀結構或類似的進階案例。 其中一個進階案例是,如果您要為不在 或 FrameworkElement 衍生類別上的相依性屬性建立 PropertyChangedCallbackFreezable 而該屬性在變更時仍會影響版面配置的量值階段。

經常呼叫 InvalidateMeasure 或 ,以 UpdateLayout 產生顯著的效能結果。 因此,除非您在程式碼中後續呼叫其他 API 時,絕對需要精確的版面配置狀態,否則請避免呼叫此方法。

適用於

產品 版本
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10