FrameworkPropertyMetadata.Inherits Egenskap

Definition

Hämtar eller anger ett värde som anger om värdet för beroendeegenskapen kan ärvas.

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

Egenskapsvärde

trueom egenskapsvärdet är ärverbart; annars . false Standardvärdet är false.

Undantag

Metadata har redan tillämpats på en beroendeegenskapsåtgärd, så att metadata är förseglade och att egenskaperna för metadata inte kan anges.

Exempel

I följande exempel hämtas standardmetadata från olika beroendeegenskapsfält, frågar efter värdet för olika FrameworkPropertyMetadata egenskaper på den och använder informationen för att fylla i en tabell för att implementera en "metadatawebbläsare".

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

Kommentarer

Arv av egenskapsvärde är en funktion i WPF egenskapssystem på WPF-ramverksnivå, där vissa beroendeegenskaper kan anges lokalt på ett element vid eller nära roten för ett XAML-elementträd och sedan få sitt värde ärvt av alla element i det logiska trädet för underordnade element som också har den egenskapen. Arv av egenskapsvärde är inte aktiverat som standard, och aktivering av det har vissa prestandakonsekvenser. Mer information finns i Arv av egenskapsvärde.

Note

Arv av egenskapsvärde kan verka fungera för icke-anslutna beroendeegenskaper, men arvsbeteendet för en icke-kopplad egenskap via vissa objekt-objekt-divisioner i körningsträdet är odefinierat. Använd alltid RegisterAttached för att registrera egenskaper där du anger Inherits i metadata.

Egenskaper för härledda klasser PropertyMetadata av definieras vanligtvis i objektmodellen som skrivskyddad. Detta gör att de kan justeras efter initieringen av instansen. Men när metadata har förbrukats som en del av ett anrop till Register, AddOwnereller OverrideMetadata, kommer egenskapssystemet att försegla att metadatainstansen och egenskaper som förmedlar detaljerna i metadata nu anses oföränderliga. Om du försöker ange den här egenskapen när IsSealed den finns true på den här metadatainstansen genereras ett undantag.

XAML-textanvändning

Medlemmar i den här klassen används vanligtvis inte i XAML.

Gäller för

Se även