FrameworkElement.MeasureOverride(Size) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
當在衍生類別中覆寫時,測量子項目所需配置的大小,並決定 FrameworkElement 衍生類別的大小。
protected:
virtual System::Windows::Size MeasureOverride(System::Windows::Size availableSize);
protected virtual System.Windows.Size MeasureOverride (System.Windows.Size availableSize);
abstract member MeasureOverride : System.Windows.Size -> System.Windows.Size
override this.MeasureOverride : System.Windows.Size -> System.Windows.Size
Protected Overridable Function MeasureOverride (availableSize As Size) As Size
參數
- availableSize
- Size
此項目可提供給子項目使用的大小。 此值可以指定為無限大,表示項目會隨著可用的內容而改變大小。
傳回
大小,此項目會依據其計算子項目的大小結果,決定配置時所需的大小。
備註
覆寫 MeasureOverride 以實作元素的自訂配置調整大小行為,因為它參與Windows Presentation Foundation (WPF) 版面配置系統。 您的實作應該執行下列動作:
逐一查看屬於配置一部分之子系的特定子系集合,在每個子專案上呼叫 Measure 。
在呼叫) 之後 Measure ,立即取得 DesiredSize 子系 (此設定為屬性。
根據子項目的度量,計算父系的淨所需大小。
的傳回值 MeasureOverride 應該是元素本身所需的大小,然後成為目前元素之父元素的量值輸入。 這個相同的程式會繼續執行版面配置系統,直到到達頁面的根項目為止。
在這個程式中,子項目可能會傳回大於 DesiredSize 初始 availableSize
的大小,以指出子項目想要更多空間。 這可以藉由引進可捲動區域、調整父控制項的大小、建立某種堆疊順序,或任何數目的解決方案來測量或排列內容,以在您自己的實作中處理。
重要
元素應該在此程式期間在每個子系上呼叫 Measure ,否則子項目的大小不會正確或排列。
給繼承者的注意事項
下列非編譯器代碼會顯示此實作模式。 VisualChildren
代表您自己的專案應該定義的子系可列舉集合屬性。 屬性可以命名為任何專案。 VisualChildren
是此範例的預留位置名稱, VisualChildren
不是 WPF 所提供的 API 或命名模式的一部分。
:::code language=「csharp」 source=「~/snippets/csharp/System。Windows/ComponentResourceKey/.ctor/corepseudocode.cs「 id=」Snippetfemeasureoverride「::::code language=」vb「 source=」~/snippets/visualbasic/VS_Snippets_Wpf/CorePseudocode/visualbasic/corepseudocode.vb「 id=」Snippetfemeasureoverride「::