FrameworkPropertyMetadata.Inherits Tulajdonság

Definíció

Lekéri vagy beállít egy értéket, amely jelzi, hogy a függőségi tulajdonság értéke örökölhető-e.

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

Tulajdonság értéke

trueha a tulajdonság értéke örökölhető; egyéb esetben. false Az alapértelmezett érték a false.

Kivételek

A metaadatokat már alkalmazták egy függőségi tulajdonság műveletére, így a metaadatok le vannak zárva, és a metaadatok tulajdonságai nem állíthatók be.

Példák

Az alábbi példa lekérte az alapértelmezett metaadatokat a különböző függőségi tulajdonságmezőkből, lekérdezi a rajta lévő különböző FrameworkPropertyMetadata tulajdonságok értékét, és az információk segítségével feltölt egy táblát egy "metaadat-böngésző" implementálásához.

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

Megjegyzések

A tulajdonságértékek öröklése a WPF tulajdonságrendszer WPF keretrendszerszinten történő egyik funkciója, amely szerint bizonyos függőségi tulajdonságok helyileg beállíthatók egy XAML-elemfa gyökerénél vagy annak közelében lévő elemen, majd az értéküket a gyermekelemek logikai fájában lévő összes elem örökli, amelyek szintén rendelkeznek ezzel a tulajdonsággal. A tulajdonságértékek öröklése alapértelmezés szerint nincs engedélyezve, és az engedélyezésnek van némi hatása a teljesítményre. További részletekért lásd: Tulajdonságérték öröklése.

Note

Bár a tulajdonságérték öröklése úgy tűnhet, hogy nem gyorsítótárazott függőségi tulajdonságok esetében működik, a futtatókörnyezeti fa bizonyos objektum-objektummegosztásain keresztüli nem gyorsítótárazott tulajdonság öröklési viselkedése nincs meghatározva. Mindig használd a RegisterAttached-t olyan tulajdonságok regisztrálására, ahol Inherits-et határoztál meg a metaadatokban.

A származtatott osztályok PropertyMetadata tulajdonságai általában írás-olvasásként vannak definiálva az objektummodellben. Így a példány inicializálása után módosíthatók. Ha azonban a metaadatok a tulajdonságrendszer meghívásának RegisterAddOwnerrészeként kerülnek használatba, OverrideMetadataa rendszer zárolja, hogy a metaadatok példánya és a metaadatok jellemzőit továbbadó tulajdonságok mostantól megváltoztathatatlannak minősülnek. Ha megkísérli beállítani ezt a tulajdonságot, miután IsSealed ezen a metaadat-példányon van, true kivételt fog eredményezni.

XAML-szöveghasználat

Az osztály tagjait általában nem használják az XAML-ben.

A következőre érvényes:

Lásd még