FrameworkPropertyMetadata.AffectsParentMeasure 屬性

定義

取得或設定值,指出相依性屬性在配置引擎作業期間,是否可能會影響其父項目配置的測量行程。

public:
 property bool AffectsParentMeasure { bool get(); void set(bool value); };
public bool AffectsParentMeasure { get; set; }
member this.AffectsParentMeasure : bool with get, set
Public Property AffectsParentMeasure As Boolean

屬性值

true 如果此中繼資料存在的相依性屬性可能會影響其父元素上的量值傳遞,則為 ;否則為 false 。 預設為 false

例外狀況

中繼資料已套用至相依性屬性作業,因此中繼資料已密封,而且無法設定中繼資料的屬性。

備註

FrameworkElementFrameworkContentElement 包含 的 OnPropertyChanged 實作,可監視專案上所有相依性屬性的有效值變更。 在該邏輯中,變更有效值的相依性屬性,並設定 true 為 的 AffectsParentMeasure 中繼資料將會起始延遲要求,使父元素的視覺效果失效。 由於這個 WPF 架構層級實作已就緒,除非您大幅取代或修改 WPF 架構層級配置行為,否則您通常不需要尋找相 AffectsParentMeasure 依性屬性。

一般而言,您不需要使用 AffectsParentMeasure 將屬性的 FrameworkElement 變更報告給父元素,因為專案本身已經擁有它本身 AffectsMeasure 做為 true 。 這通常已足夠,因為子項目中的變更通常會在適當時起始父量值傳遞。 AffectsParentMeasure 有時會用於 FrameworkContentElement 衍生類別。 在此情況下,子專案會設定屬性,但 FrameworkContentElement 衍生類別不會控制它自己的轉譯。 轉譯是由 FrameworkElement 做為內容主機的父元素處理。 例如,子項目對 屬性值的變更 Paragraph.KeepWithNext 會使父系的量值失效,因為段落的相對間距可能會變更,而且可能會增加或減少內容主機大小。 因此, Paragraph.KeepWithNext 屬性具有中繼資料,其中 AffectsParentMeasuretrue

內容主機元素也會經常尋找相依性屬性中的變更,其中 是 AffectsParentMeasuretrue ,做為內容主機轉譯邏輯的一部分。 例如, TextBox 元素必須回應文字中可能需要變更本身周框方 TextBox 塊的特定變更。

自訂 OnPropertyChanged 實作可能會針對相依性屬性變更選擇有類似的行為,其中 是 AffectsParentMeasuretrue

的任何衍生類別 PropertyMetadata 上的屬性通常會在物件模型中定義為讀寫。 如此一來,就可以在實例初始化之後加以調整。 不過,在對 、 AddOwnerOverrideMetadata 的呼叫 Register 中取用中繼資料之後,屬性系統將會密封中繼資料實例和傳遞中繼資料特定屬性的中繼資料實例和屬性現在視為不可變。 嘗試在此中繼資料實例上設定此屬性之後 IsSealedtrue ,將會引發例外狀況。

XAML 文字使用方式

這個類別的成員通常不會在 XAML 中使用。

適用於

另請參閱