FrameworkPropertyMetadata.AffectsParentMeasure FrameworkPropertyMetadata.AffectsParentMeasure FrameworkPropertyMetadata.AffectsParentMeasure FrameworkPropertyMetadata.AffectsParentMeasure Property

定義

レイアウト エンジンの操作中に、依存関係プロパティがその親要素のレイアウトの測定パスに潜在的に影響するかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether a dependency property potentially affects the measure pass of its parent element's layout during layout engine operations.

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 です。true if the dependency property on which this metadata exists potentially affects the measure pass specifically on its parent element; otherwise, false.The default is false.

例外

メタデータがシールされるよう、かつメタデータのプロパティを設定できないように、メタデータは依存関係プロパティの操作に既に適用されています。The metadata has already been applied to a dependency property operation, so that metadata is sealed and properties of the metadata cannot be set.

注釈

FrameworkElement FrameworkContentElementの実装が含まれてOnPropertyChanged要素に存在するすべての依存関係プロパティに対する有効な値の変更を監視します。FrameworkElement and FrameworkContentElement include an implementation of OnPropertyChanged that monitors effective value changes to all dependency properties that exist on an element. ロジックの一部として、依存関係プロパティを変更する有効な値し、を使用してメタデータがあるAffectsParentMeasure設定trueが親要素のビジュアルを無効にするための遅延要求を開始します。As part of that logic, dependency properties that change effective value and have metadata with AffectsParentMeasure set to true will initiate a deferred request to invalidate the visuals for the parent element. この実装は WPF フレームワーク レベルが既に設定されている、ため、通常必要はありませんで依存関係プロパティを検索するAffectsParentMeasure大幅に交換または WPF フレームワーク レベルのレイアウト動作を変更する場合を除き、します。Because this WPF framework-level implementation is already in place, you typically do not need to look for dependency properties with AffectsParentMeasure unless you are substantially replacing or modifying the WPF framework-level layout behavior.

変更を報告する必要がない一般に、FrameworkElementプロパティを使用して親要素をAffectsParentMeasure要素自体は既に存在して、独自ためAffectsMeasureとしてtrueします。Generally, you do not need to report changes of a FrameworkElement property to a parent element using AffectsParentMeasure because the element itself would already have its own AffectsMeasure as true. 子要素の変更は一般的に該当する場合に、親測定パスを開始するため、通常で十分です。That is usually sufficient, because changes in the child element generally initiate a parent measure pass when appropriate. AffectsParentMeasure ため、FrameworkContentElementクラスを派生します。AffectsParentMeasure is sometimes used for a FrameworkContentElement derived class. この場合、子要素のセットが、プロパティ、FrameworkContentElement派生クラスでは、自身のレンダリングを制御しません。In this case, the child element sets a property, but a FrameworkContentElement derived class does not control its own rendering. によって、レンダリングが処理される、FrameworkElementコンテンツのホストとして機能する親要素。The rendering is handled by a FrameworkElement parent element that serves as the content host. 値の変更など、Paragraph.KeepWithNext子要素でプロパティを段落の相対的な間隔から変更可能性がありますとを増やす可能性があります、またはコンテンツ ホストのサイズを小さくために、親のメジャーを無効にします。For instance, a change to the value of the Paragraph.KeepWithNext property by a child element invalidates measure of the parent, because the relative spacing of paragraphs might change and might increase or decrease the content host size. そのため、Paragraph.KeepWithNextプロパティがメタデータでAffectsParentMeasuretrueします。Therefore, the Paragraph.KeepWithNext property has metadata where AffectsParentMeasure is true.

コンテンツのホスト要素に依存関係プロパティの変更についてもよくなります、AffectsParentMeasuretrue、コンテンツのホストのレンダリング ロジックの一部として。Content host elements also frequently look for changes in dependency properties where AffectsParentMeasure is true, as part of content host rendering logic. たとえば、TextBox要素を必要となるテキスト内で特定の変更の境界ボックスとの対応の必要があります、TextBox自体を変更します。For instance, the TextBox element must respond to certain changes within text that might require that the bounding box of the TextBox itself be changed.

カスタムOnPropertyChanged実装の依存関係プロパティの変更と同様の動作を選択、AffectsParentMeasuretrueします。Custom OnPropertyChanged implementations might choose to have similar behavior for dependency property changes where AffectsParentMeasure is true.

プロパティをいずれかのクラスの派生PropertyMetadata通常は読み取り/書き込みとしてオブジェクト モデルで定義します。Properties on any derived classes of PropertyMetadata are typically defined in the object model as read-write. これは、インスタンスの初期化後に調整できるようにします。This is so they can be adjusted after initialization of the instance. ただし後の呼び出しの一部として、メタデータが消費されるRegisterAddOwner、またはOverrideMetadata、プロパティ システムはそのメタデータ インスタンスを封印およびメタデータの詳細を伝えるためのプロパティを変更できないと見なされますようになりました。However, after the metadata is consumed as part of a call to Register, AddOwner, or OverrideMetadata, the property system will seal that metadata instance and properties that convey the specifics of the metadata are now considered immutable. 後は、このプロパティを設定しようとしています。IsSealedtrueでこのメタデータ インスタンスで例外が発生します。Attempting to set this property after IsSealed is true on this metadata instance will raise an exception.

XAML テキストの使用状況XAML Text Usage

このクラスのメンバーは、通常では使用しないXAMLXAMLします。Members of this class are not typically used in XAMLXAML.

適用対象

こちらもご覧ください