DependencyProperty.OverrideMetadata Metódus

Definíció

Alternatív metaadatokat biztosít ehhez a függőségi tulajdonsághoz, ha egy adott típusú példányon jelen van, szemben a kezdeti függőségi tulajdonságregisztrációban megadott metaadatokkal.

Túlterhelések

Name Description
OverrideMetadata(Type, PropertyMetadata)

Alternatív metaadatokat ad meg ehhez a függőségi tulajdonsághoz, ha egy adott típusú példányon van jelen, felülírva a függőségi tulajdonság metaadatait, mivel az alaptípusoktól öröklődött.

OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)

Alternatív metaadatokat biztosít egy írásvédett függőségi tulajdonsághoz, ha egy adott típusú példányon jelen van, felülírva a kezdeti függőségi tulajdonságregisztrációban megadott metaadatokat. A kivétel elkerülése érdekében át kell adnia az DependencyPropertyKey írásvédett függőség tulajdonság értékét.

OverrideMetadata(Type, PropertyMetadata)

Alternatív metaadatokat ad meg ehhez a függőségi tulajdonsághoz, ha egy adott típusú példányon van jelen, felülírva a függőségi tulajdonság metaadatait, mivel az alaptípusoktól öröklődött.

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)

Paraméterek

forType
Type

Az a típus, amelyben ez a függőségi tulajdonság öröklődik, és ahol a megadott alternatív metaadatok lesznek alkalmazva.

typeMetadata
PropertyMetadata

A felülírandó típus függőségi tulajdonságára alkalmazandó metaadatok.

Kivételek

Megkísérelték felülbírálni a metaadatokat egy írásvédett függőségi tulajdonságon (ez a művelet nem hajtható végre ezzel az aláírással).

A megadott típuson meglévő függőségi tulajdonság metaadatai már létrejöttek.

Megjegyzések

A függőségi tulajdonság metaadatait felül kell bírálni, mielőtt a tulajdonságrendszer használja a függőségi tulajdonságot. Ez megegyezik azzal az idővel, amikor bizonyos példányok a függőségi tulajdonságot regisztráló osztály használatával jönnek létre. A hívásokat OverrideMetadata csak a metódus paramétereként forType megadott típusú statikus konstruktorokon belül vagy hasonló példányosítással lehet végrehajtani. Ha megkísérli módosítani a metaadatokat, miután a tulajdonostípus példányai léteznek, nem okoz kivételeket, de inkonzisztens viselkedést eredményez a tulajdonságrendszerben.

Ha egy adott származtatott osztály metaadatainak felülbírálása ezzel a módszerrel történik, az ugyanazon származtatott osztály metaadatainak felülbírálására tett későbbi kísérletek kivételt képeznek.

A megadott metaadatok egyesülnek a függőségi tulajdonság tulajdonság metaadataival, mivel az az alaptulajdonoson létezik. Az eredeti alap metaadatokban megadott jellemzők megmaradnak; Csak az új metaadatokban kifejezetten módosított jellemzők fogják felülbírálni az alap metaadatok jellemzőit. Bizonyos jellemzők, például DefaultValue az új metaadatokban megadottak helyébe lépnek. Másokat, például PropertyChangedCallbacka többit kombináljuk. Az egyesítési viselkedés végső soron a felülbíráláshoz használt tulajdonság metaadatainak típusától függ, ezért az itt ismertetett viselkedés az WPF függőségi tulajdonságok által használt meglévő tulajdonság metaadatosztályokra érvényes. További részletekért lásd : Dependency Property Metadata and Framework Property Metadata.

A következőre érvényes:

OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)

Alternatív metaadatokat biztosít egy írásvédett függőségi tulajdonsághoz, ha egy adott típusú példányon jelen van, felülírva a kezdeti függőségi tulajdonságregisztrációban megadott metaadatokat. A kivétel elkerülése érdekében át kell adnia az DependencyPropertyKey írásvédett függőség tulajdonság értékét.

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)

Paraméterek

forType
Type

Az a típus, amelyben ez a függőségi tulajdonság öröklődik, és ahol a megadott alternatív metaadatok lesznek alkalmazva.

typeMetadata
PropertyMetadata

A felülírandó típus függőségi tulajdonságára alkalmazandó metaadatok.

key
DependencyPropertyKey

Egy írásvédett függőségi tulajdonság hozzáférési kulcsa.

Megjegyzések

Ez az aláírás egy írásvédett függőségi tulajdonságazonosító (DependencyPropertyKey) metódus mögöttes implementációját biztosítja. Ha felülírja az olvasási-írási függőségi tulajdonság metaadatait, használja a következőt OverrideMetadata(Type, PropertyMetadata): .

A függőségi tulajdonság metaadatait felül kell bírálni, mielőtt a tulajdonságrendszer használja a függőségi tulajdonságot. Ez megegyezik azzal az idővel, amikor a függőségi tulajdonságot regisztráló osztály adott objektumokat hoz létre. A hívásokat OverrideMetadata csak a metódus paramétereként forType megadott típusú statikus konstruktorokon belül vagy hasonló példányosítással lehet végrehajtani. Ha megkísérli módosítani a metaadatokat, miután a tulajdonostípus példányai léteznek, nem okoz kivételeket, de inkonzisztens viselkedést eredményez a tulajdonságrendszerben.

Ha egy adott származtatott osztály metaadatainak felülbírálása ezzel a módszerrel történik, az ugyanazon származtatott osztály metaadatainak felülbírálására tett későbbi kísérletek kivételt képeznek.

A megadott metaadatok egyesülnek a függőségi tulajdonság tulajdonság metaadataival, mivel az az alaptulajdonoson létezik. Az eredeti alap metaadatokban megadott jellemzők megmaradnak; Csak az új metaadatokban kifejezetten módosított jellemzők fogják felülbírálni az alap metaadatok jellemzőit. Bizonyos jellemzők, például DefaultValue az új metaadatokban megadottak helyébe lépnek. Másokat, például PropertyChangedCallbacka többit kombináljuk. Az egyesítési viselkedés a felülbíráláshoz használt tulajdonság metaadatainak típusától függ. További részletekért lásd : Dependency Property Metadata and Framework Property Metadata.

A következőre érvényes: