DependencyProperty.OverrideMetadata Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.
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.