DependencyProperty.OverrideMetadata Method

Definition

Fornece os metadados alternativos para esta propriedade de dependência quando ela existe em instâncias de um tipo especificado, em comparação com os metadados que foram fornecidos no registro de propriedade de dependência inicial.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.

Overloads

OverrideMetadata(Type, PropertyMetadata)

Especifica os metadados alternativos para essa propriedade de dependência quando está presente em instâncias de um tipo especificado, substituindo os metadados existentes para a propriedade de dependência conforme ela foi herdada dos tipos base.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)

Fornece os metadados alternativos para uma propriedade de dependência somente leitura quando ela existe em instâncias de um tipo especificado, substituindo os metadados que foram fornecidos no registro de propriedade de dependência inicial.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. Você deve passar o DependencyPropertyKey para a propriedade de dependência somente leitura para evitar gerar uma exceção.You must pass the DependencyPropertyKey for the read-only dependency property to avoid raising an exception.

OverrideMetadata(Type, PropertyMetadata)

Especifica os metadados alternativos para essa propriedade de dependência quando está presente em instâncias de um tipo especificado, substituindo os metadados existentes para a propriedade de dependência conforme ela foi herdada dos tipos base.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)

Parameters

forType
Type

O tipo no qual essa propriedade de dependência é herdada e os metadados alternativos fornecidos serão aplicados.The type where this dependency property is inherited and where the provided alternate metadata will be applied.

typeMetadata
PropertyMetadata

Os metadados a serem aplicados à propriedade de dependência no tipo de substituição.The metadata to apply to the dependency property on the overriding type.

Exceptions

Foi feita uma tentativa de substituir metadados em uma propriedade de dependência somente leitura (essa operação não pode ser feita usando essa assinatura).An attempt was made to override metadata on a read-only dependency property (that operation cannot be done using this signature).

Os metadados já foram estabelecidos para a propriedade de dependência como ela existe no tipo fornecido.Metadata was already established for the dependency property as it exists on the provided type.

Remarks

Os metadados de propriedade de dependência devem ser substituídos antes que o sistema de propriedades use a propriedade de dependência.Dependency property metadata should be overridden before the property system uses the dependency property. Isso equivale à hora em que instâncias específicas são criadas usando a classe que registra a propriedade de dependência.This equates to the time that specific instances are created using the class that registers the dependency property. Chamadas para OverrideMetadata devem ser executadas somente dentro dos construtores estáticos do tipo que se apresenta como o parâmetro forType desse método ou por meio de instanciação semelhante.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. A tentativa de alterar metadados após instâncias do tipo de proprietário existe não gerará exceções, mas resultará em comportamentos inconsistentes no sistema de propriedades.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.

Depois que os metadados de uma substituição de classe derivada específica forem estabelecidos com esse método, as tentativas subsequentes de substituir os metadados nessa mesma classe derivada gerarão uma exceção.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.

Os metadados fornecidos são mesclados com os metadados de propriedade da propriedade de dependência que existe no proprietário base.The supplied metadata is merged with the property metadata for the dependency property as it exists on the base owner. As características que foram especificadas nos metadados base originais serão mantidas; somente as características que foram alteradas especificamente nos novos metadados substituirão as características dos metadados base.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. Algumas características como DefaultValue são substituídas se especificadas nos novos metadados.Some characteristics such as DefaultValue are replaced if specified in the new metadata. Outros, como PropertyChangedCallback, são combinados.Others, such as PropertyChangedCallback, are combined. Por fim, o comportamento de mesclagem depende do tipo de metadados de propriedade usado para a substituição, portanto, o comportamento descrito aqui é para as classes de metadados de propriedade existentes usadas por WPFWPF Propriedades de dependência.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 WPFWPF dependency properties. Para obter detalhes, consulte metadados de propriedade de dependência e metadados de propriedade de estrutura.For details, see Dependency Property Metadata and Framework Property Metadata.

OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)

Fornece os metadados alternativos para uma propriedade de dependência somente leitura quando ela existe em instâncias de um tipo especificado, substituindo os metadados que foram fornecidos no registro de propriedade de dependência inicial.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. Você deve passar o DependencyPropertyKey para a propriedade de dependência somente leitura para evitar gerar uma exceção.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)

Parameters

forType
Type

O tipo no qual essa propriedade de dependência é herdada e os metadados alternativos fornecidos serão aplicados.The type where this dependency property is inherited and where the provided alternate metadata will be applied.

typeMetadata
PropertyMetadata

Os metadados a serem aplicados à propriedade de dependência no tipo de substituição.The metadata to apply to the dependency property on the overriding type.

key
DependencyPropertyKey

A chave de acesso para uma propriedade de dependência somente leitura.The access key for a read-only dependency property.

Remarks

Essa assinatura fornece implementação subjacente para um método deDependencyPropertyKey(identificador de propriedade de dependência somente leitura).This signature provides underlying implementation for a read-only dependency property identifier (DependencyPropertyKey) method. Se substituir os metadados para uma propriedade de dependência de leitura/gravação, use OverrideMetadata(Type, PropertyMetadata).If overriding metadata for a read-write dependency property, use OverrideMetadata(Type, PropertyMetadata).

Os metadados de propriedade de dependência devem ser substituídos antes que o sistema de propriedades use a propriedade de dependência.Dependency property metadata should be overridden before the property system uses the dependency property. Isso equivale à hora em que objetos específicos são criados para a classe que registra a propriedade de dependência.This equates to the time that specific objects are created for the class that registers the dependency property. Chamadas para OverrideMetadata devem ser executadas somente dentro dos construtores estáticos do tipo que se apresenta como o parâmetro forType desse método ou por meio de instanciação semelhante.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. A tentativa de alterar metadados após instâncias do tipo de proprietário existe não gerará exceções, mas resultará em comportamentos inconsistentes no sistema de propriedades.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.

Depois que os metadados de uma substituição de classe derivada específica forem estabelecidos com esse método, as tentativas subsequentes de substituir os metadados nessa mesma classe derivada gerarão uma exceção.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.

Os metadados fornecidos são mesclados com os metadados de propriedade da propriedade de dependência que existe no proprietário base.The supplied metadata is merged with the property metadata for the dependency property as it exists on the base owner. As características que foram especificadas nos metadados base originais serão mantidas; somente as características que foram alteradas especificamente nos novos metadados substituirão as características dos metadados base.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. Algumas características como DefaultValue são substituídas se especificadas nos novos metadados.Some characteristics such as DefaultValue are replaced if specified in the new metadata. Outros, como PropertyChangedCallback, são combinados.Others, such as PropertyChangedCallback, are combined. O comportamento de mesclagem depende do tipo de metadados de propriedade que está sendo usado para a substituição.The merge behavior depends on the property metadata type being used for the override. Para obter detalhes, consulte metadados de propriedade de dependência e metadados de propriedade de estrutura.For details, see Dependency Property Metadata and Framework Property Metadata.

Applies to