FrameworkPropertyMetadata.Inherits プロパティ

定義

依存関係プロパティの値が継承可能かどうかを示す値を取得または設定します。

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

プロパティ値

Boolean

プロパティ値が継承可能な場合は true、それ以外の場合は false。 既定値は、false です。

例外

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

次の例では、さまざまな依存関係プロパティフィールドから既定のメタデータを取得し、その中のさまざまなプロパティの値を照会 FrameworkPropertyMetadata します。また、情報を使用して、"メタデータブラウザー" を実装するテーブルを設定します。

pm = dp.GetMetadata(dp.OwnerType);
pm = dp.GetMetadata(dp.OwnerType)
FrameworkPropertyMetadata fpm = pm as FrameworkPropertyMetadata;
if (fpm!=null) {
    AffectsArrange.Text = (fpm.AffectsArrange) ? "Yes" : "No";
    AffectsMeasure.Text = (fpm.AffectsMeasure) ? "Yes" : "No";
    AffectsRender.Text = (fpm.AffectsRender) ? "Yes" : "No";
    Inherits.Text = (fpm.Inherits) ? "Yes" : "No";
    IsDataBindingAllowed.Text = (fpm.IsDataBindingAllowed) ? "Yes" : "No";
    BindsTwoWayByDefault.Text = (fpm.BindsTwoWayByDefault) ? "Yes" : "No";
}
Dim fpm As FrameworkPropertyMetadata = TryCast(pm, FrameworkPropertyMetadata)
If fpm IsNot Nothing Then
    AffectsArrange.Text = If((fpm.AffectsArrange), "Yes", "No")
    AffectsMeasure.Text = If((fpm.AffectsMeasure), "Yes", "No")
    AffectsRender.Text = If((fpm.AffectsRender), "Yes", "No")
        [Inherits].Text = If((fpm.Inherits), "Yes", "No")
    IsDataBindingAllowed.Text = If((fpm.IsDataBindingAllowed), "Yes", "No")
    BindsTwoWayByDefault.Text = If((fpm.BindsTwoWayByDefault), "Yes", "No")

注釈

プロパティ値の継承は、wpf フレームワークレベルでの WPF プロパティシステムの機能であり、特定の依存関係プロパティを、XAML 要素ツリーのルートまたはその近くにある要素にローカルに設定し、そのプロパティを持つ子要素の論理ツリー内のすべての要素によって値を継承することができます。 プロパティ値の継承は、既定では有効になっていません。有効にすると、パフォーマンスに影響します。 詳細については、「プロパティ値の継承」を参照してください。

注意

プロパティ値の継承は非添付依存関係プロパティに対して機能するように見える場合がありますが、ランタイムツリー内の特定のオブジェクトとオブジェクトの区分を通じて非添付プロパティの継承の動作が定義されていません。 メタデータで Inherits を指定する場合は、必ず RegisterAttached を使用してプロパティを登録します。

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

XAML テキストの使用

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

適用対象

こちらもご覧ください