DependencyProperty.OverrideMetadata Methode

Definitie

Levert alternatieve metagegevens voor deze afhankelijkheidseigenschap wanneer deze aanwezig is op exemplaren van een opgegeven type, versus de metagegevens die zijn opgegeven in de registratie van de initiële afhankelijkheidseigenschap.

Overloads

Name Description
OverrideMetadata(Type, PropertyMetadata)

Hiermee geeft u alternatieve metagegevens voor deze afhankelijkheidseigenschap op wanneer deze aanwezig is op exemplaren van een opgegeven type, waarbij de metagegevens die voor de eigenschap van de afhankelijkheid bestaan, worden overschreven omdat deze is overgenomen van basistypen.

OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)

Levert alternatieve metagegevens voor een alleen-lezen afhankelijkheidseigenschap wanneer deze aanwezig is op exemplaren van een opgegeven type, waarbij de metagegevens worden overschreven die zijn opgegeven in de registratie van de initiële afhankelijkheidseigenschap. U moet de DependencyPropertyKey eigenschap alleen-lezenafhankelijkheid doorgeven om te voorkomen dat er een uitzondering wordt gegenereerd.

OverrideMetadata(Type, PropertyMetadata)

Hiermee geeft u alternatieve metagegevens voor deze afhankelijkheidseigenschap op wanneer deze aanwezig is op exemplaren van een opgegeven type, waarbij de metagegevens die voor de eigenschap van de afhankelijkheid bestaan, worden overschreven omdat deze is overgenomen van basistypen.

public:
 void OverrideMetadata(Type ^ forType, System::Windows::PropertyMetadata ^ typeMetadata);
public void OverrideMetadata(Type forType, System.Windows.PropertyMetadata typeMetadata);
member this.OverrideMetadata : Type * System.Windows.PropertyMetadata -> unit
Public Sub OverrideMetadata (forType As Type, typeMetadata As PropertyMetadata)

Parameters

forType
Type

Het type waar deze afhankelijkheidseigenschap wordt overgenomen en waar de opgegeven alternatieve metagegevens worden toegepast.

typeMetadata
PropertyMetadata

De metagegevens die moeten worden toegepast op de afhankelijkheidseigenschap op het overschrijvende type.

Uitzonderingen

Er is geprobeerd metagegevens te overschrijven voor een alleen-lezen afhankelijkheidseigenschap (deze bewerking kan niet worden uitgevoerd met behulp van deze handtekening).

Metagegevens zijn al gemaakt voor de afhankelijkheidseigenschap, zoals deze bestaat op het opgegeven type.

Opmerkingen

Metagegevens van afhankelijkheden moeten worden overschreven voordat het eigenschappensysteem de afhankelijkheidseigenschap gebruikt. Dit komt overeen met het tijdstip waarop specifieke exemplaren worden gemaakt met behulp van de klasse die de afhankelijkheidseigenschap registreert. Aanroepen moeten OverrideMetadata alleen worden uitgevoerd binnen de statische constructors van het type dat zichzelf als parameter forType van deze methode biedt, of via een vergelijkbare instantie. Als u metagegevens probeert te wijzigen nadat exemplaren van het type eigenaar bestaan, worden er geen uitzonderingen gegenereerd, maar leidt dit tot inconsistent gedrag in het eigenschappensysteem.

Nadat metagegevens voor een bepaalde afgeleide klasse-onderdrukking met deze methode tot stand zijn gebracht, wordt bij volgende pogingen om metagegevens op dezelfde afgeleide klasse te overschrijven een uitzondering gegenereerd.

De opgegeven metagegevens worden samengevoegd met de eigenschappenmetagegevens voor de afhankelijkheidseigenschap, zoals deze bestaat op de basiseigenaar. Alle kenmerken die zijn opgegeven in de oorspronkelijke basismetagegevens, blijven behouden; alleen de kenmerken die specifiek zijn gewijzigd in de nieuwe metagegevens, overschrijven de kenmerken van de basismetagegevens. Sommige kenmerken, zoals DefaultValue worden vervangen als deze zijn opgegeven in de nieuwe metagegevens. Andere, zoals PropertyChangedCallback, worden gecombineerd. Uiteindelijk is het samenvoeggedrag afhankelijk van het metagegevenstype van de eigenschap dat wordt gebruikt voor de onderdrukking, dus het gedrag dat hier wordt beschreven, is voor de bestaande metagegevensklassen van eigenschappen van eigenschappen die worden gebruikt door WPF afhankelijkheidseigenschappen. Zie Metagegevens van afhankelijkheidseigenschappen en metagegevens van frameworkeigenschappen voor meer informatie.

Van toepassing op

OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)

Levert alternatieve metagegevens voor een alleen-lezen afhankelijkheidseigenschap wanneer deze aanwezig is op exemplaren van een opgegeven type, waarbij de metagegevens worden overschreven die zijn opgegeven in de registratie van de initiële afhankelijkheidseigenschap. U moet de DependencyPropertyKey eigenschap alleen-lezenafhankelijkheid doorgeven om te voorkomen dat er een uitzondering wordt gegenereerd.

public:
 void OverrideMetadata(Type ^ forType, System::Windows::PropertyMetadata ^ typeMetadata, System::Windows::DependencyPropertyKey ^ key);
public void OverrideMetadata(Type forType, System.Windows.PropertyMetadata typeMetadata, System.Windows.DependencyPropertyKey key);
member this.OverrideMetadata : Type * System.Windows.PropertyMetadata * System.Windows.DependencyPropertyKey -> unit
Public Sub OverrideMetadata (forType As Type, typeMetadata As PropertyMetadata, key As DependencyPropertyKey)

Parameters

forType
Type

Het type waar deze afhankelijkheidseigenschap wordt overgenomen en waar de opgegeven alternatieve metagegevens worden toegepast.

typeMetadata
PropertyMetadata

De metagegevens die moeten worden toegepast op de afhankelijkheidseigenschap op het overschrijvende type.

key
DependencyPropertyKey

De toegangssleutel voor een alleen-lezen afhankelijkheidseigenschap.

Opmerkingen

Deze handtekening biedt onderliggende implementatie voor een alleen-lezen afhankelijkheidseigenschaps-id (DependencyPropertyKey)-methode. Als u metagegevens overschrijft voor een eigenschap voor afhankelijkheid lezen/schrijven, gebruikt u OverrideMetadata(Type, PropertyMetadata).

Metagegevens van afhankelijkheden moeten worden overschreven voordat het eigenschappensysteem de afhankelijkheidseigenschap gebruikt. Dit komt overeen met het tijdstip waarop specifieke objecten worden gemaakt voor de klasse die de afhankelijkheidseigenschap registreert. Aanroepen moeten OverrideMetadata alleen worden uitgevoerd binnen de statische constructors van het type dat zichzelf als parameter forType van deze methode biedt, of via een vergelijkbare instantie. Als u metagegevens probeert te wijzigen nadat exemplaren van het type eigenaar bestaan, worden er geen uitzonderingen gegenereerd, maar leidt dit tot inconsistent gedrag in het eigenschappensysteem.

Nadat metagegevens voor een bepaalde afgeleide klasse-onderdrukking met deze methode tot stand zijn gebracht, wordt bij volgende pogingen om metagegevens op dezelfde afgeleide klasse te overschrijven een uitzondering gegenereerd.

De opgegeven metagegevens worden samengevoegd met de eigenschappenmetagegevens voor de afhankelijkheidseigenschap, zoals deze bestaat op de basiseigenaar. Alle kenmerken die zijn opgegeven in de oorspronkelijke basismetagegevens, blijven behouden; alleen de kenmerken die specifiek zijn gewijzigd in de nieuwe metagegevens, overschrijven de kenmerken van de basismetagegevens. Sommige kenmerken, zoals DefaultValue worden vervangen als deze zijn opgegeven in de nieuwe metagegevens. Andere, zoals PropertyChangedCallback, worden gecombineerd. Het samenvoeggedrag is afhankelijk van het metagegevenstype van de eigenschap dat wordt gebruikt voor de onderdrukking. Zie Metagegevens van afhankelijkheidseigenschappen en metagegevens van frameworkeigenschappen voor meer informatie.

Van toepassing op