DependencyProperty.OverrideMetadata Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.
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.