DependencyProperty.OverrideMetadata Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Fornece metadados alternativos para esta propriedade de dependência quando está presente em instâncias de um tipo especificado, em vez dos metadados fornecidos no registo inicial da propriedade de dependência.
Sobrecargas
| Name | Description |
|---|---|
| OverrideMetadata(Type, PropertyMetadata) |
Especifica metadados alternativos para esta propriedade de dependência quando está presente em instâncias de um tipo especificado, sobrepondo-se aos metadados existentes para a propriedade de dependência à medida que foi herdada dos tipos base. |
| OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey) |
Fornece metadados alternativos para uma propriedade de dependência somente de leitura quando está presente em instâncias de um tipo especificado, sobrepondo-se aos metadados fornecidos no registo inicial da propriedade de dependência. Deve passar o DependencyPropertyKey para a propriedade de dependência apenas de leitura para evitar criar uma exceção. |
OverrideMetadata(Type, PropertyMetadata)
Especifica metadados alternativos para esta propriedade de dependência quando está presente em instâncias de um tipo especificado, sobrepondo-se aos metadados existentes para a propriedade de dependência à medida que foi herdada dos 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
O tipo onde esta propriedade de dependência é herdada e onde serão aplicados os metadados alternativos fornecidos.
- typeMetadata
- PropertyMetadata
Os metadados a aplicar à propriedade de dependência no tipo sobreposto.
Exceções
Foi feita uma tentativa de sobrepor metadados numa propriedade de dependência apenas de leitura (essa operação não pode ser feita usando esta assinatura).
Os metadados já estavam estabelecidos para a propriedade de dependência tal como existe no tipo fornecido.
Observações
Os metadados da propriedade de dependência devem ser sobrepostos antes de o sistema de propriedades utilizar a propriedade de dependência. Isto equivale ao momento em que instâncias específicas são criadas usando a classe que regista a propriedade de dependência. As chamadas para OverrideMetadata só devem ser realizadas dentro dos construtores estáticos do tipo que se fornece como forType parâmetro deste método, ou através de instanciações semelhantes. Tentar alterar metadados após a existência de instâncias do tipo proprietário não gerará exceções, mas resultará em comportamentos inconsistentes no sistema de propriedades.
Depois de os metadados para uma determinada sobreposição de classe derivada serem estabelecidos com este método, tentativas subsequentes de sobrepor metadados dessa mesma classe derivada levantarão uma exceção.
Os metadados fornecidos são fundidos com os metadados da propriedade da dependência conforme esta existe no proprietário da base. Quaisquer características especificadas nos metadados base originais persistirão; apenas as características que foram especificamente alteradas nos novos metadados sobrepor-se às características dos metadados base. Algumas características, como , DefaultValue são substituídas se especificadas nos novos metadados. Outros, como PropertyChangedCallback, são combinados. Em última análise, o comportamento de fusão depende do tipo de metadados de propriedade usado para a substituição, pelo que o comportamento descrito aqui é para as classes de metadados existentes usadas pelas propriedades de dependência do WPF. Para mais detalhes, veja Metadados de Propriedades de Dependência e Metadados de Propriedades do Quadro.
Aplica-se a
OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)
Fornece metadados alternativos para uma propriedade de dependência somente de leitura quando está presente em instâncias de um tipo especificado, sobrepondo-se aos metadados fornecidos no registo inicial da propriedade de dependência. Deve passar o DependencyPropertyKey para a propriedade de dependência apenas de leitura para evitar criar uma exceção.
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
O tipo onde esta propriedade de dependência é herdada e onde serão aplicados os metadados alternativos fornecidos.
- typeMetadata
- PropertyMetadata
Os metadados a aplicar à propriedade de dependência no tipo sobreposto.
A chave de acesso para uma propriedade de dependência apenas de leitura.
Observações
Esta assinatura fornece uma implementação subjacente para um método identificador de propriedade de dependência apenas de leitura (DependencyPropertyKey). Se sobrepor metadados para uma propriedade de dependência de leitura-escrita, use OverrideMetadata(Type, PropertyMetadata).
Os metadados da propriedade de dependência devem ser sobrepostos antes de o sistema de propriedades utilizar a propriedade de dependência. Isto equivale ao momento em que objetos específicos são criados para a classe que regista a propriedade de dependência. As chamadas para OverrideMetadata só devem ser realizadas dentro dos construtores estáticos do tipo que se fornece como forType parâmetro deste método, ou através de instanciações semelhantes. Tentar alterar metadados após a existência de instâncias do tipo proprietário não gerará exceções, mas resultará em comportamentos inconsistentes no sistema de propriedades.
Depois de os metadados para uma determinada sobreposição de classe derivada serem estabelecidos com este método, tentativas subsequentes de sobrepor metadados dessa mesma classe derivada levantarão uma exceção.
Os metadados fornecidos são fundidos com os metadados da propriedade da dependência conforme esta existe no proprietário da base. Quaisquer características especificadas nos metadados base originais persistirão; apenas as características que foram especificamente alteradas nos novos metadados sobrepor-se às características dos metadados base. Algumas características, como , DefaultValue são substituídas se especificadas nos novos metadados. Outros, como PropertyChangedCallback, são combinados. O comportamento da fusão depende do tipo de metadados da propriedade usado para a substituição. Para mais detalhes, veja Metadados de Propriedades de Dependência e Metadados de Propriedades do Quadro.