FrameworkPropertyMetadata.Inherits プロパティ

定義

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

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、それ以外の場合は 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. メタデータで Inherits を指定する場合は、必ず RegisterAttached を使用してプロパティを登録します。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. ただし、、、またはの呼び出しの一部としてメタデータが使用された後は、プロパティシステムによって、メタデータ Register AddOwner 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. このメタデータインスタンスのがの後にこのプロパティを設定しようとすると IsSealed true 、例外が発生します。Attempting to set this property after IsSealed is true on this metadata instance will raise an exception.

XAML テキストの使用XAML Text Usage

このクラスのメンバーは、通常、では使用されません XAMLXAMLMembers of this class are not typically used in XAMLXAML.

適用対象

こちらもご覧ください