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