FrameworkPropertyMetadata.Inherits Tulajdonság
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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.