FrameworkPropertyMetadata.AffectsParentMeasure プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
レイアウト エンジンの操作中に、依存関係プロパティがその親要素のレイアウトの測定パスに潜在的に影響するかどうかを示す値を取得または設定します。
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
です。
例外
メタデータがシールされるよう、かつメタデータのプロパティを設定できないように、メタデータは依存関係プロパティの操作に既に適用されています。
注釈
FrameworkElement 要素 FrameworkContentElement に存在するすべての依存関係プロパティに対する有効な値の OnPropertyChanged 変更を監視する実装を含めます。 そのロジックの一部として、有効な値を変更し、メタデータ AffectsParentMeasure を設定した true
依存関係プロパティは、親要素のビジュアルを無効にする遅延要求を開始します。 この WPF フレームワーク レベルの実装は既に実施されているため、WPF フレームワーク レベルのレイアウト動作を大幅に置き換えたり変更したりする場合を除き、通常は依存関係プロパティ AffectsParentMeasure を検索する必要はありません。
一般に、プロパティ自体は既true
AffectsMeasureに独自の要素であるため、プロパティのFrameworkElement変更をAffectsParentMeasure親要素に報告する必要はありません。 子要素の変更は通常、必要に応じて親メジャー パスを開始するため、通常はこれで十分です。 AffectsParentMeasure は、派生クラスに FrameworkContentElement 使用される場合があります。 この場合、子要素はプロパティを設定しますが FrameworkContentElement 、派生クラスは独自のレンダリングを制御しません。 レンダリングは、コンテンツ ホストとして機能する親要素によって FrameworkElement 処理されます。 たとえば、子要素によってプロパティの値を変更すると、段落の Paragraph.KeepWithNext 相対間隔が変更され、コンテンツ ホスト サイズが増減する可能性があるため、親のメジャーは無効になります。 したがって、Paragraph.KeepWithNextプロパティにはメタデータが格納されますAffectsParentMeasuretrue
。
コンテンツ ホスト要素は、コンテンツ ホストレンダリングロジックの一部として、依存関係プロパティAffectsParentMeasuretrue
の変更を頻繁に検索します。 たとえば、要素は、それ自体の TextBox 境界ボックスを変更する必要があるテキスト内の特定の変更に応答する TextBox 必要があります。
カスタムOnPropertyChanged実装では、依存関係プロパティの変更に対して同様の動作をtrue
AffectsParentMeasure選択する場合があります。
派生クラスの PropertyMetadata プロパティは、通常、オブジェクト モデルで読み取り/書き込みとして定義されます。 これは、インスタンスの初期化後に調整できるようにするためです。 ただし、メタデータが 、またはOverrideMetadataプロパティ システムへのRegisterAddOwner呼び出しの一部として使用されると、メタデータの詳細を伝えるメタデータ インスタンスとプロパティが不変と見なされるようになりました。 このメタデータ インスタンスの後IsSealedtrue
にこのプロパティを設定しようとすると、例外が発生します。
XAML テキストの使用法
通常、このクラスのメンバーは XAML では使用されません。