FrameworkPropertyMetadata.Inherits Eigenschap

Definitie

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de waarde van de afhankelijkheidseigenschap kan worden overgenomen.

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

Waarde van eigenschap

true als de eigenschapswaarde kan worden overgenomen; anders, false. De standaardwaarde is false.

Uitzonderingen

De metagegevens zijn al toegepast op een afhankelijkheidseigenschapsbewerking, zodat metagegevens worden verzegeld en eigenschappen van de metagegevens niet kunnen worden ingesteld.

Voorbeelden

In het volgende voorbeeld worden de standaardmetagegevens opgehaald uit verschillende afhankelijkheidseigenschapsvelden, wordt de waarde van verschillende FrameworkPropertyMetadata eigenschappen erop opgevraagd en wordt de informatie gebruikt om een tabel te vullen om een 'metagegevensbrowser' te implementeren.

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

Opmerkingen

Overname van eigenschapswaarden is een functie van het WPF eigenschapssysteem op het niveau van het WPF framework, waarbij bepaalde afhankelijkheidseigenschappen lokaal kunnen worden ingesteld op een element in of in de buurt van de hoofdmap van een XAML-elementstructuur en vervolgens hun waarde laten overnemen door alle elementen in de logische structuur van onderliggende elementen die ook die eigenschap bezitten. Overname van eigenschapswaarden is niet standaard ingeschakeld en het inschakelen heeft gevolgen voor de prestaties. Zie Overname van eigenschapswaarde voor meer informatie.

Note

Hoewel overname van eigenschapswaarden kan werken voor niet-gekoppelde afhankelijkheidseigenschappen, is het overnamegedrag voor een niet-gekoppelde eigenschap via bepaalde objectobjectverdelingen in de runtimestructuur niet gedefinieerd. Gebruik altijd RegisterAttached om eigenschappen te registreren waar u Inherits opgeeft in de metagegevens.

Eigenschappen van afgeleide klassen PropertyMetadata worden doorgaans gedefinieerd in het objectmodel als lezen/schrijven. Dit is zodat ze na de initialisatie van het exemplaar kunnen worden aangepast. Nadat de metagegevens echter worden gebruikt als onderdeel van een aanroep naar Register, AddOwnerof OverrideMetadata, zal het eigenschappensysteem dat metagegevensexemplaren en eigenschappen die de specifieke kenmerken van de metagegevens overbrengen, nu als onveranderbaar beschouwd worden. Als u deze eigenschap probeert in te stellen nadat IsSealedtrue deze zich op dit metagegevensexemplaren bevindt, wordt er een uitzondering gegenereerd.

XAML-tekstgebruik

Leden van deze klasse worden doorgaans niet gebruikt in XAML.

Van toepassing op

Zie ook