FrameworkPropertyMetadata.Inherits プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
依存関係プロパティの値が継承可能かどうかを示す値を取得または設定します。
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 プロパティ値が継承可能な場合。それ以外の場合は 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 要素ツリーのルートまたはその近くの要素に対してローカルに設定し、その値を子要素の論理ツリー内の同じプロパティを持つすべての要素によって継承できます。 プロパティ値の継承は既定では有効ではなく、有効にするとパフォーマンスに影響があります。 詳細については、「 プロパティ値の継承」を参照してください。
Note
プロパティ値の継承は、アタッチされていない依存関係プロパティでは機能するように見えますが、ランタイム ツリー内の特定のオブジェクト オブジェクト分割を介した非アタッチプロパティの継承動作は未定義です。 メタデータにRegisterAttachedを指定するプロパティを登録するには、常にInheritsを使用します。
PropertyMetadataの派生クラスのプロパティは、通常、オブジェクト モデルで読み取り/書き込みとして定義されます。 これは、インスタンスの初期化後に調整できるようにするためです。 ただし、メタデータが Register、 AddOwner、または OverrideMetadataの呼び出しの一部として使用されると、プロパティ システムによって、メタデータの詳細を伝えるメタデータ インスタンスとプロパティが不変と見なされるようになります。 このメタデータ インスタンスで IsSealed が true された後にこのプロパティを設定しようとすると、例外が発生します。
XAML テキストの使用法
このクラスのメンバーは、通常、XAML では使用されません。