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 metadatos alternativos para esta propiedad de dependencia cuando está presente en instancias de un tipo especificado, frente a los metadatos proporcionados en el registro de propiedad de dependencia inicial.
Sobrecargas
| Nombre | Description |
|---|---|
| OverrideMetadata(Type, PropertyMetadata) |
Especifica metadatos alternativos para esta propiedad de dependencia cuando está presente en instancias de un tipo especificado, reemplazando los metadatos que existían para la propiedad de dependencia tal como se heredó de los tipos base. |
| OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey) |
Proporciona metadatos alternativos para una propiedad de dependencia de solo lectura cuando está presente en instancias de un tipo especificado, reemplazando los metadatos proporcionados en el registro inicial de la propiedad de dependencia. Debe pasar para DependencyPropertyKey la propiedad de dependencia de solo lectura para evitar generar una excepción. |
OverrideMetadata(Type, PropertyMetadata)
Especifica metadatos alternativos para esta propiedad de dependencia cuando está presente en instancias de un tipo especificado, reemplazando los metadatos que existían para la propiedad de dependencia tal 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 donde se hereda esta propiedad de dependencia y donde se aplicarán los metadatos alternativos proporcionados.
- typeMetadata
- PropertyMetadata
Metadatos que se van a aplicar a la propiedad de dependencia en el tipo de invalidación.
Excepciones
Se intentó invalidar los metadatos en una propiedad de dependencia de solo lectura (esa operación no se puede realizar mediante esta firma).
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 deben invalidarse 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 se deben realizar dentro de los constructores estáticos del tipo que se proporciona como el forType parámetro de este método, o a través de una creación de instancias similar. Si 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 de esta misma clase derivada generará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 las 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 propiedades de marco.
Se aplica a
OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)
Proporciona metadatos alternativos para una propiedad de dependencia de solo lectura cuando está presente en instancias de un tipo especificado, reemplazando los metadatos proporcionados en el registro inicial de la propiedad de dependencia. Debe pasar para DependencyPropertyKey la propiedad de dependencia de solo lectura para evitar generar 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 donde se hereda esta propiedad de dependencia y donde se aplicarán los metadatos alternativos proporcionados.
- typeMetadata
- PropertyMetadata
Metadatos que se van a aplicar a la propiedad de dependencia en el tipo de invalidación.
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 deben invalidarse 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 se deben realizar dentro de los constructores estáticos del tipo que se proporciona como el forType parámetro de este método, o a través de una creación de instancias similar. Si 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 de esta misma clase derivada generará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 las 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 propiedades de marco.