FrameworkPropertyMetadata.Inherits FrameworkPropertyMetadata.Inherits FrameworkPropertyMetadata.Inherits FrameworkPropertyMetadata.Inherits Property


依存関係プロパティの値が継承可能かどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the value of the dependency property is inheritable.

 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


プロパティ値が継承可能な場合は true、それ以外の場合は falsetrue if the property value is inheritable; otherwise, false. 既定値は、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.

次の例では、プロパティ フィールドをさまざまな依存関係から、既定のメタデータを取得、さまざまな値をクエリFrameworkPropertyMetadataプロパティを情報を使用して、「メタデータ ブラウザー」を実装するためにテーブルを作成するとします。The following example obtains the default metadata from various dependency property fields, queries the value of various FrameworkPropertyMetadata properties on it, and uses the information to populate a table to implement a "metadata browser".

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")


プロパティ値の継承の機能である、WPFWPFという特定の依存関係プロパティはローカル要素で設定するのルートに近い、WPF フレームワーク レベルのプロパティ システムをXAMLXAML要素ツリーし、その値によって継承されますまた、そのプロパティを処理する子要素の論理ツリー内ですべての要素。Property value inheritance is a feature of the WPFWPF property system at the WPF framework level, whereby certain dependency properties can be locally set on an element at or near the root of a XAMLXAML element tree and then have their value inherited by all elements within the logical tree of child elements that also possess that property. 既定では、プロパティ値の継承が有効になっていないと、パフォーマンスへの影響が有効にすることです。Property value inheritance is not enabled by default, and enabling it does have some performance implications. 詳細については、「プロパティ値の継承」を参照してください。For details, see Property Value Inheritance.


プロパティ値の継承は、非添付依存関係プロパティに見える場合があります、ランタイム ツリーで特定オブジェクト間の分割を使用して非添付プロパティの継承動作は定義されていません。Although property value inheritance might appear to work for nonattached dependency properties, the inheritance behavior for a nonattached property through certain object-object divisions in the runtime tree is undefined. 常に使用するRegisterAttachedに指定したプロパティを登録するInheritsメタデータにします。Always use RegisterAttached to register properties where you specify Inherits in the metadata.

派生クラスでプロパティPropertyMetadata通常は読み取り/書き込みとしてオブジェクト モデルで定義します。Properties on 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.