DependencyProperty.OverrideMetadata Metoda

Definicja

Dostarcza alternatywnych metadanych dla tej właściwości zależności, gdy jest ona obecna w wystąpieniach określonego typu, a także metadanych, które zostały podane w początkowej rejestracji właściwości zależności.Supplies alternate metadata for this dependency property when it is present on instances of a specified type, versus the metadata that was provided in the initial dependency property registration.

Przeciążenia

OverrideMetadata(Type, PropertyMetadata)

Określa alternatywne metadane dla tej właściwości zależności, gdy jest ona obecna w wystąpieniach określonego typu, zastępując metadane, które istniały dla właściwości zależności, ponieważ zostały odziedziczone z typów podstawowych.Specifies alternate metadata for this dependency property when it is present on instances of a specified type, overriding the metadata that existed for the dependency property as it was inherited from base types.

OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)

Dostarcza alternatywne metadane dla właściwości zależności tylko do odczytu, gdy jest ona obecna w wystąpieniach określonego typu, zastępując metadane dostarczone w początkowej rejestracji właściwości zależności.Supplies alternate metadata for a read-only dependency property when it is present on instances of a specified type, overriding the metadata that was provided in the initial dependency property registration. Należy przekazać DependencyPropertyKey Właściwość zależności tylko do odczytu, aby uniknąć ponoszenia wyjątku.You must pass the DependencyPropertyKey for the read-only dependency property to avoid raising an exception.

OverrideMetadata(Type, PropertyMetadata)

Określa alternatywne metadane dla tej właściwości zależności, gdy jest ona obecna w wystąpieniach określonego typu, zastępując metadane, które istniały dla właściwości zależności, ponieważ zostały odziedziczone z typów podstawowych.Specifies alternate metadata for this dependency property when it is present on instances of a specified type, overriding the metadata that existed for the dependency property as it was inherited from base types.

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)

Parametry

forType
Type

Typ, w którym ta właściwość zależności jest dziedziczona i gdzie zostaną zastosowane podane alternatywne metadane.The type where this dependency property is inherited and where the provided alternate metadata will be applied.

typeMetadata
PropertyMetadata

Metadane do zastosowania do właściwości zależności w typie przesłania.The metadata to apply to the dependency property on the overriding type.

Wyjątki

Podjęto próbę zastąpienia metadanych właściwości zależności tylko do odczytu (nie można wykonać tej operacji przy użyciu tej sygnatury).An attempt was made to override metadata on a read-only dependency property (that operation cannot be done using this signature).

Metadane zostały już ustanowione dla właściwości zależności, która istnieje w podanym typie.Metadata was already established for the dependency property as it exists on the provided type.

Uwagi

Metadane właściwości zależności powinny zostać zastąpione, zanim system właściwości użyje właściwości zależności.Dependency property metadata should be overridden before the property system uses the dependency property. Jest to równe czas tworzenia określonych wystąpień przy użyciu klasy, która rejestruje właściwość zależności.This equates to the time that specific instances are created using the class that registers the dependency property. Wywołania OverrideMetadata powinny być wykonywane tylko w konstruktorach statycznych typu, który dostarcza siebie jako forType parametr tej metody lub za pomocą podobnego tworzenia wystąpienia.Calls to OverrideMetadata should only be performed within the static constructors of the type that provides itself as the forType parameter of this method, or through similar instantiation. Próba zmiany metadanych po wystąpieniu wystąpienia typu właściciela nie spowoduje wywołania wyjątków, ale spowoduje niespójne zachowania w systemie właściwości.Attempting to change metadata after instances of the owner type exist will not raise exceptions, but will result in inconsistent behaviors in the property system.

Po ustanowieniu metadanych dla konkretnego przesłonięcia klasy pochodnej przy użyciu tej metody, kolejne próby zastąpienia metadanych w tej samej klasie pochodnej spowodują wyjątek.After metadata for a particular derived class override is established with this method, subsequent attempts to override metadata on this same derived class will raise an exception.

Podane metadane są scalane z metadanymi właściwości dla właściwości zależności, ponieważ istnieją one w podstawowym właścicielu.The supplied metadata is merged with the property metadata for the dependency property as it exists on the base owner. Wszystkie cechy, które zostały określone w oryginalnych metadanych podstawowych, będą utrwalane; tylko te cechy, które zostały odpowiednio zmienione w nowych metadanych, przesłonią charakterystykę podstawowych metadanych.Any characteristics that were specified in the original base metadata will persist; only those characteristics that were specifically changed in the new metadata will override the characteristics of the base metadata. Niektóre cechy, takie jak DefaultValue są zastępowane w przypadku określenia w nowych metadanych.Some characteristics such as DefaultValue are replaced if specified in the new metadata. Inne, takie jak PropertyChangedCallback , są łączone.Others, such as PropertyChangedCallback, are combined. Ostatecznie zachowanie scalania zależy od typu metadanych właściwości używanego do przesłonięcia, więc zachowanie opisane tutaj dotyczy istniejących klas metadanych właściwości używanych przez właściwości zależności WPF.Ultimately, the merge behavior depends on the property metadata type being used for the override, so the behavior described here is for the existing property metadata classes used by WPF dependency properties. Aby uzyskać szczegółowe informacje, zobacz metadane właściwości zależności i metadane właściwości struktury.For details, see Dependency Property Metadata and Framework Property Metadata.

Dotyczy

OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)

Dostarcza alternatywne metadane dla właściwości zależności tylko do odczytu, gdy jest ona obecna w wystąpieniach określonego typu, zastępując metadane dostarczone w początkowej rejestracji właściwości zależności.Supplies alternate metadata for a read-only dependency property when it is present on instances of a specified type, overriding the metadata that was provided in the initial dependency property registration. Należy przekazać DependencyPropertyKey Właściwość zależności tylko do odczytu, aby uniknąć ponoszenia wyjątku.You must pass the DependencyPropertyKey for the read-only dependency property to avoid raising an exception.

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)

Parametry

forType
Type

Typ, w którym ta właściwość zależności jest dziedziczona i gdzie zostaną zastosowane podane alternatywne metadane.The type where this dependency property is inherited and where the provided alternate metadata will be applied.

typeMetadata
PropertyMetadata

Metadane do zastosowania do właściwości zależności w typie przesłania.The metadata to apply to the dependency property on the overriding type.

key
DependencyPropertyKey

Klucz dostępu dla właściwości zależności tylko do odczytu.The access key for a read-only dependency property.

Uwagi

Ta sygnatura zawiera podstawową implementację metody identyfikatora właściwości zależności tylko do odczytu ( DependencyPropertyKey ).This signature provides underlying implementation for a read-only dependency property identifier (DependencyPropertyKey) method. W przypadku zastępowania metadanych dla właściwości zależności odczytu i zapisu Użyj OverrideMetadata(Type, PropertyMetadata) .If overriding metadata for a read-write dependency property, use OverrideMetadata(Type, PropertyMetadata).

Metadane właściwości zależności powinny zostać zastąpione, zanim system właściwości użyje właściwości zależności.Dependency property metadata should be overridden before the property system uses the dependency property. Jest to równe czas tworzenia określonych obiektów dla klasy, która rejestruje właściwość zależności.This equates to the time that specific objects are created for the class that registers the dependency property. Wywołania OverrideMetadata powinny być wykonywane tylko w konstruktorach statycznych typu, który dostarcza siebie jako forType parametr tej metody lub za pomocą podobnego tworzenia wystąpienia.Calls to OverrideMetadata should only be performed within the static constructors of the type that provides itself as the forType parameter of this method, or through similar instantiation. Próba zmiany metadanych po wystąpieniu wystąpienia typu właściciela nie spowoduje wywołania wyjątków, ale spowoduje niespójne zachowania w systemie właściwości.Attempting to change metadata after instances of the owner type exist will not raise exceptions, but will result in inconsistent behaviors in the property system.

Po ustanowieniu metadanych dla konkretnego przesłonięcia klasy pochodnej przy użyciu tej metody, kolejne próby zastąpienia metadanych w tej samej klasie pochodnej spowodują wyjątek.After metadata for a particular derived class override is established with this method, subsequent attempts to override metadata on this same derived class will raise an exception.

Podane metadane są scalane z metadanymi właściwości dla właściwości zależności, ponieważ istnieją one w podstawowym właścicielu.The supplied metadata is merged with the property metadata for the dependency property as it exists on the base owner. Wszystkie cechy, które zostały określone w oryginalnych metadanych podstawowych, będą utrwalane; tylko te cechy, które zostały odpowiednio zmienione w nowych metadanych, przesłonią charakterystykę podstawowych metadanych.Any characteristics that were specified in the original base metadata will persist; only those characteristics that were specifically changed in the new metadata will override the characteristics of the base metadata. Niektóre cechy, takie jak DefaultValue są zastępowane w przypadku określenia w nowych metadanych.Some characteristics such as DefaultValue are replaced if specified in the new metadata. Inne, takie jak PropertyChangedCallback , są łączone.Others, such as PropertyChangedCallback, are combined. Zachowanie scalania jest zależne od typu metadanych właściwości używanego podczas przesłonięcia.The merge behavior depends on the property metadata type being used for the override. Aby uzyskać szczegółowe informacje, zobacz metadane właściwości zależności i metadane właściwości struktury.For details, see Dependency Property Metadata and Framework Property Metadata.

Dotyczy