UIElement.InvalidateMeasure 方法
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使項目的測量狀態 (配置) 失效。
public:
void InvalidateMeasure();
C#
public void InvalidateMeasure();
member this.InvalidateMeasure : unit -> unit
Public Sub InvalidateMeasure ()
呼叫這個方法也會在內部呼叫 InvalidateArrange ,不需要連續呼叫 InvalidateMeasure 和 InvalidateArrange 。 在失效之後,除非呼叫 以強制同步配置變更,否則 UpdateLayout 元素會更新其配置,這會以非同步方式發生。
WPF 架構層級版面配置系統會自行處理元素視覺化樹狀結構中的變更,而且在最常見的版面配置失效案例中,版面配置系統會在必要時呼叫對等的這個方法。 只有在產生完整的版面配置實作時,才應該呼叫此方法,此實作會直接操作專案樹狀結構或類似的進階案例。 其中一個進階案例是,如果您要為不在 或 FrameworkElement 衍生類別上的相依性屬性建立 PropertyChangedCallback , Freezable 而該屬性在變更時仍會影響版面配置的量值階段。
經常呼叫 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 |