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

プロパティ値

プロパティ値が継承可能な場合は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")

注釈

プロパティ値の継承は、WPF フレームワークWPFWPFレベルでのプロパティシステムの機能です。これにより、特定の依存関係プロパティを、 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. ただし、 Register、、またはOverrideMetadataの呼び出しの一部としてメタAddOwnerデータが使用された後は、プロパティシステムによって、メタデータインスタンスとメタデータの詳細を伝達するプロパティが不変と見なされるようになります。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

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

適用対象

こちらもご覧ください