Comparteix a través de


DependencyProperty.OverrideMetadata Método

Definición

Proporciona los metadatos alternativos para esta propiedad de dependencia cuando se encuentra en instancias de un tipo especificado, frente a los metadatos que se proporcionaron en el registro inicial de la propiedad de dependencia.

Sobrecargas

OverrideMetadata(Type, PropertyMetadata)

Especifica los metadatos alternativos para esta propiedad de dependencia cuando se encuentra en instancias de un tipo especificado y reemplaza los metadatos existentes para la propiedad de dependencia tal y como se heredó de los tipos base.

OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)

Proporciona los metadatos alternativos para una propiedad de dependencia de solo lectura cuando se encuentra en instancias de un tipo especificado y reemplaza los metadatos que se proporcionaron en el registro inicial de la propiedad de dependencia. Debe pasar la DependencyPropertyKey para la propiedad de dependencia de solo lectura evitar que se genere una excepción.

OverrideMetadata(Type, PropertyMetadata)

Especifica los metadatos alternativos para esta propiedad de dependencia cuando se encuentra en instancias de un tipo especificado y reemplaza los metadatos existentes para la propiedad de dependencia tal y como se heredó de los tipos base.

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)

Parámetros

forType
Type

Tipo en el que se hereda esta propiedad de dependencia y donde se aplicarán los metadatos alternativos proporcionados.

typeMetadata
PropertyMetadata

Metadatos que se deben aplicar a la propiedad de dependencia en el tipo de reemplazo.

Excepciones

Se intentaron reemplazar los metadatos en una propiedad de dependencia de solo lectura (esa operación no se puede realizar con esta signatura).

Los metadatos ya se establecieron para la propiedad de dependencia tal como existe en el tipo proporcionado.

Comentarios

Los metadatos de la propiedad de dependencia se deben invalidar antes de que el sistema de propiedades use la propiedad de dependencia. Esto equivale al tiempo en que se crean instancias específicas mediante la clase que registra la propiedad de dependencia. Las llamadas a OverrideMetadata solo deben realizarse dentro de los constructores estáticos del tipo que se proporciona como parámetro forType de este método, o a través de una creación de instancias similar. Si se intenta cambiar los metadatos después de que existan instancias del tipo de propietario, no se producirán excepciones, pero se producirán comportamientos incoherentes en el sistema de propiedades.

Después de establecer los metadatos para una invalidación de clase derivada determinada con este método, los intentos posteriores de invalidar los metadatos en esta misma clase derivada producirán una excepción.

Los metadatos proporcionados se combinan con los metadatos de propiedad de la propiedad de dependencia tal como existe en el propietario base. Las características especificadas en los metadatos base originales se conservarán; solo aquellas características que se cambiaron específicamente en los nuevos metadatos invalidarán las características de los metadatos base. Algunas características, como DefaultValue , se reemplazan si se especifican en los nuevos metadatos. Otros, como PropertyChangedCallback, se combinan. En última instancia, el comportamiento de combinación depende del tipo de metadatos de propiedad que se usa para la invalidación, por lo que el comportamiento descrito aquí es para las clases de metadatos de propiedad existentes usadas por las propiedades de dependencia de WPF. Para obtener más información, consulte Metadatos de propiedad de dependencia y metadatos de propiedad de marco.

Se aplica a

OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)

Proporciona los metadatos alternativos para una propiedad de dependencia de solo lectura cuando se encuentra en instancias de un tipo especificado y reemplaza los metadatos que se proporcionaron en el registro inicial de la propiedad de dependencia. Debe pasar la DependencyPropertyKey para la propiedad de dependencia de solo lectura evitar que se genere una excepción.

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)

Parámetros

forType
Type

Tipo en el que se hereda esta propiedad de dependencia y donde se aplicarán los metadatos alternativos proporcionados.

typeMetadata
PropertyMetadata

Metadatos que se deben aplicar a la propiedad de dependencia en el tipo de reemplazo.

key
DependencyPropertyKey

Clave de acceso para una propiedad de dependencia de solo lectura.

Comentarios

Esta firma proporciona una implementación subyacente para un método de identificador de propiedad de dependencia de solo lectura (DependencyPropertyKey). Si invalida los metadatos de una propiedad de dependencia de lectura y escritura, use OverrideMetadata(Type, PropertyMetadata).

Los metadatos de la propiedad de dependencia se deben invalidar antes de que el sistema de propiedades use la propiedad de dependencia. Esto equivale al tiempo en que se crean objetos específicos para la clase que registra la propiedad de dependencia. Las llamadas a OverrideMetadata solo deben realizarse dentro de los constructores estáticos del tipo que se proporciona como parámetro forType de este método, o a través de una creación de instancias similar. Si se intenta cambiar los metadatos después de que existan instancias del tipo de propietario, no se producirán excepciones, pero se producirán comportamientos incoherentes en el sistema de propiedades.

Después de establecer los metadatos para una invalidación de clase derivada determinada con este método, los intentos posteriores de invalidar los metadatos en esta misma clase derivada producirán una excepción.

Los metadatos proporcionados se combinan con los metadatos de propiedad de la propiedad de dependencia tal como existe en el propietario base. Las características especificadas en los metadatos base originales se conservarán; solo aquellas características que se cambiaron específicamente en los nuevos metadatos invalidarán las características de los metadatos base. Algunas características, como DefaultValue , se reemplazan si se especifican en los nuevos metadatos. Otros, como PropertyChangedCallback, se combinan. El comportamiento de combinación depende del tipo de metadatos de propiedad que se usa para la invalidación. Para obtener más información, consulte Metadatos de propiedad de dependencia y metadatos de propiedad de marco.

Se aplica a