DependencyPropertyKey Classe
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 um identificador de propriedade de dependência para acesso limitado de escrita a uma propriedade de dependência apenas de leitura.
public ref class DependencyPropertyKey sealed
public sealed class DependencyPropertyKey
type DependencyPropertyKey = class
Public NotInheritable Class DependencyPropertyKey
- Herança
-
DependencyPropertyKey
Exemplos
O exemplo seguinte regista uma propriedade de dependência apenas de leitura, e também utiliza a chave para dois propósitos noutros membros da classe: implementar o "wrapper" get e como identificador para uma operação de determinação protegida que define o valor com base no cálculo de outros valores de propriedades.
internal static readonly DependencyPropertyKey AquariumSizeKey = DependencyProperty.RegisterReadOnly(
"AquariumSize",
typeof(double),
typeof(Aquarium),
new PropertyMetadata(double.NaN)
);
public static readonly DependencyProperty AquariumSizeProperty =
AquariumSizeKey.DependencyProperty;
public double AquariumSize
{
get { return (double)GetValue(AquariumSizeProperty); }
}
Friend Shared ReadOnly AquariumSizeKey As DependencyPropertyKey = DependencyProperty.RegisterReadOnly("AquariumSize", GetType(Double), GetType(Aquarium), New PropertyMetadata(Double.NaN))
Public Shared ReadOnly AquariumSizeProperty As DependencyProperty = AquariumSizeKey.DependencyProperty
Public ReadOnly Property AquariumSize() As Double
Get
Return CDbl(GetValue(AquariumSizeProperty))
End Get
End Property
Observações
DependencyPropertyKey As instâncias são obtidas como valor de retorno de uma chamada de registo de propriedade de dependência usando os métodos RegisterReadOnly ou RegisterAttachedReadOnly.
Os tipos que registam uma propriedade de dependência podem usar as DependencyPropertyKey chamadas in a SetValue e ClearValue que ajustam o valor da propriedade como parte da lógica de classes. Se permitido pelo nível de acesso da chave, classes relacionadas também podem usar a chave e a propriedade de dependência. Por exemplo, pode declarar a chave como interna, e outros tipos dentro do mesmo assembly também podem definir essa propriedade de dependência.
O DependencyPropertyKey registo devolvido por propriedade de dependência somente leitura não deve ser tornado público, porque expor a chave torna a propriedade configurável, anulando assim o objetivo de a registar como propriedade de dependência apenas de leitura. Além disso, expor a chave provoca um desajuste entre os comportamentos de propriedades de dependência disponíveis e as implementações do wrapper de propriedades em tempo de execução da linguagem comum (CLR), o que é um mau design de classes.
Em vez de expor a chave em si, deves expor o DependencyProperty valor do DependencyPropertyKey como a public static readonlyDependencyProperty na tua classe. Isto permite que a propriedade devolva um identificador válido de propriedade de dependência para certas operações do sistema de propriedades, como enumerar valores localmente definidos. No entanto, o identificador assim obtido não possui todas as capacidades de um DependencyProperty para muitas operações do sistema de propriedades.
Propriedades
| Name | Description |
|---|---|
| DependencyProperty |
Obtém o identificador de propriedade de dependência associado a este identificador especializado de propriedade de dependência de só leitura. |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| OverrideMetadata(Type, PropertyMetadata) |
Sobrepõe os metadados de uma propriedade de dependência apenas de leitura que é representada por este identificador de propriedade de dependência. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |