DependencyProperty.OverrideMetadata Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Tillhandahåller alternativa metadata för den här beroendeegenskapen när den finns på instanser av en angiven typ, jämfört med metadata som angavs i den första beroendeegenskapsregistreringen.
Överlagringar
| Name | Description |
|---|---|
| OverrideMetadata(Type, PropertyMetadata) |
Anger alternativa metadata för den här beroendeegenskapen när den finns på instanser av en angiven typ, vilket åsidosätter metadata som fanns för beroendeegenskapen eftersom den ärvdes från bastyper. |
| OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey) |
Tillhandahåller alternativa metadata för en skrivskyddad beroendeegenskap när den finns på instanser av en angiven typ, vilket åsidosätter de metadata som angavs i den första beroendeegenskapsregistreringen. Du måste skicka DependencyPropertyKey för den skrivskyddade beroendeegenskapen för att undvika att skapa ett undantag. |
OverrideMetadata(Type, PropertyMetadata)
Anger alternativa metadata för den här beroendeegenskapen när den finns på instanser av en angiven typ, vilket åsidosätter metadata som fanns för beroendeegenskapen eftersom den ärvdes från bastyper.
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)
Parametrar
- forType
- Type
Den typ där den här beroendeegenskapen ärvs och där de angivna alternativa metadata kommer att tillämpas.
- typeMetadata
- PropertyMetadata
Metadata som ska tillämpas på beroendeegenskapen för den överordnade typen.
Undantag
Ett försök gjordes att åsidosätta metadata för en skrivskyddad beroendeegenskap (den åtgärden kan inte utföras med den här signaturen).
Metadata har redan upprättats för beroendeegenskapen eftersom den finns på den angivna typen.
Kommentarer
Metadata för beroendeegenskap bör åsidosättas innan egenskapssystemet använder beroendeegenskapen. Detta motsvarar den tid då specifika instanser skapas med hjälp av klassen som registrerar beroendeegenskapen. Anrop till OverrideMetadata bör endast utföras inom de statiska konstruktorerna av den typ som tillhandahåller sig själv som parameter för den forType här metoden eller genom liknande instansiering. Om du försöker ändra metadata när det finns instanser av ägartypen genereras inga undantag, men det resulterar i inkonsekventa beteenden i egenskapssystemet.
När metadata för en viss åsidosättning av härledd klass har upprättats med den här metoden genereras ett undantag vid efterföljande försök att åsidosätta metadata för samma härledda klass.
Angivna metadata sammanfogas med egenskapsmetadata för beroendeegenskapen eftersom den finns på basägaren. Alla egenskaper som har angetts i de ursprungliga basmetadata sparas. endast de egenskaper som har ändrats specifikt i de nya metadata åsidosätter egenskaperna för basmetadata. Vissa egenskaper som DefaultValue ersätts om de anges i de nya metadata. Andra, till exempel PropertyChangedCallback, kombineras. I slutändan beror sammanslagningsbeteendet på den egenskapsmetadatatyp som används för åsidosättningen, så det beteende som beskrivs här är för de befintliga egenskapsmetadataklasserna som används av WPF beroendeegenskaper. Mer information finns i Metadata för beroendeegenskap och Framework-egenskapsmetadata.
Gäller för
OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)
Tillhandahåller alternativa metadata för en skrivskyddad beroendeegenskap när den finns på instanser av en angiven typ, vilket åsidosätter de metadata som angavs i den första beroendeegenskapsregistreringen. Du måste skicka DependencyPropertyKey för den skrivskyddade beroendeegenskapen för att undvika att skapa ett undantag.
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)
Parametrar
- forType
- Type
Den typ där den här beroendeegenskapen ärvs och där de angivna alternativa metadata kommer att tillämpas.
- typeMetadata
- PropertyMetadata
Metadata som ska tillämpas på beroendeegenskapen för den överordnade typen.
Åtkomstnyckeln för en skrivskyddad beroendeegenskap.
Kommentarer
Den här signaturen tillhandahåller underliggande implementering för en skrivskyddad beroendeegenskapsidentifierare (DependencyPropertyKey). Om du åsidosättar metadata för en skrivskyddad beroendeegenskap använder du OverrideMetadata(Type, PropertyMetadata).
Metadata för beroendeegenskap bör åsidosättas innan egenskapssystemet använder beroendeegenskapen. Detta motsvarar den tid då specifika objekt skapas för klassen som registrerar beroendeegenskapen. Anrop till OverrideMetadata bör endast utföras inom de statiska konstruktorerna av den typ som tillhandahåller sig själv som parameter för den forType här metoden eller genom liknande instansiering. Om du försöker ändra metadata när det finns instanser av ägartypen genereras inga undantag, men det resulterar i inkonsekventa beteenden i egenskapssystemet.
När metadata för en viss åsidosättning av härledd klass har upprättats med den här metoden genereras ett undantag vid efterföljande försök att åsidosätta metadata för samma härledda klass.
Angivna metadata sammanfogas med egenskapsmetadata för beroendeegenskapen eftersom den finns på basägaren. Alla egenskaper som har angetts i de ursprungliga basmetadata sparas. endast de egenskaper som har ändrats specifikt i de nya metadata åsidosätter egenskaperna för basmetadata. Vissa egenskaper som DefaultValue ersätts om de anges i de nya metadata. Andra, till exempel PropertyChangedCallback, kombineras. Sammanslagningsbeteendet beror på vilken egenskapsmetadatatyp som används för åsidosättningen. Mer information finns i Metadata för beroendeegenskap och Framework-egenskapsmetadata.