FrameworkPropertyMetadata.AffectsParentArrange プロパティ

定義

レイアウト エンジンの操作中に、依存関係プロパティが親要素のレイアウトの配置パスに影響を与える可能性があるかどうかを示す値を取得または設定します。

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

プロパティ値

true このメタデータが存在する依存関係プロパティが親要素の配置パスに影響する可能性がある場合。それ以外の場合は false。 既定値は false です。

例外

メタデータがシールされ、メタデータのプロパティを設定できないように、メタデータは既に依存関係プロパティ操作に適用されています。

注釈

FrameworkElement FrameworkContentElementには、要素に存在するすべての依存関係プロパティに対する有効な値の変更を監視するOnPropertyChangedの実装が含まれています。 そのロジックの一部として、有効な値を変更し、 AffectsParentArrangetrue に設定されたメタデータを持つ依存関係プロパティは、親要素のビジュアルを無効にする遅延要求を開始します。

一般に、FrameworkElementを使用してAffectsParentArrange プロパティの変更を親要素に報告する必要はありません。これは、要素自体にAffectsArrangeとして独自のtrueが既に存在するためです。 子要素の変更は通常、必要に応じて親配置を開始するため、通常はこれで十分です。 AffectsParentArrange は、 FrameworkContentElement 派生クラスに使用される場合があります。 この場合、子要素はプロパティを設定しますが、 FrameworkContentElement 派生クラスは独自のレンダリングを制御しません。 レンダリングは、コンテンツ ホストとして機能する FrameworkElement 親要素によって処理されます。 たとえば、子要素によって FixedPage.Left 添付プロパティの値を変更すると、親内の子の位置を変更する必要があるため、親の配置が無効になります。 したがって、 FixedPage.Left 添付プロパティには、 AffectsParentArrangetrueされているメタデータがあります。 もう 1 つの例は Paddingです。このプロパティが変更されると、親は使用可能な領域に応じて子の配置を変更する可能性があります。

この WPF フレームワーク レベルの実装は既に実施されているため、WPF フレームワーク レベルのレイアウト動作を大幅に置き換えたり変更したりする場合を除き、通常、 AffectsParentArrange を使用して依存関係プロパティを検索する必要はありません。

カスタム OnPropertyChanged 実装では、 AffectsParentArrangetrueされている依存関係プロパティの変更に対して同様の動作を選択する場合があります。

PropertyMetadataの派生クラスのプロパティは、通常、オブジェクト モデルで読み取り/書き込みとして定義されます。 これは、インスタンスの初期化後に調整できるようにするためです。 ただし、メタデータが RegisterAddOwner、または OverrideMetadataの呼び出しの一部として使用されると、プロパティ システムによって、メタデータの詳細を伝えるメタデータ インスタンスとプロパティが不変と見なされるようになります。 このメタデータ インスタンスで IsSealedtrue された後にこのプロパティを設定しようとすると、例外が発生します。

XAML テキストの使用法

このクラスのメンバーは、通常、XAML では使用されません。

適用対象

こちらもご覧ください