DependencyPropertyKey Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece um identificador de propriedade de dependência para acesso de gravação limitado a uma propriedade de dependência somente leitura.
public ref class DependencyPropertyKey sealed
public sealed class DependencyPropertyKey
type DependencyPropertyKey = class
Public NotInheritable Class DependencyPropertyKey
- Herança
-
DependencyPropertyKey
Exemplos
O exemplo a seguir registra uma propriedade de dependência somente leitura e também usa a chave para duas finalidades em outros membros da classe: implementar o "wrapper" get e como o identificador para uma operação de determinação protegida que define o valor com base nos cálculos de outros valores de propriedade.
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
Comentários
DependencyPropertyKey instâncias são obtidas como o valor retornado de uma chamada de registro de propriedade de dependência usando os métodos RegisterReadOnly ou RegisterAttachedReadOnly.
Os tipos que registram uma propriedade de dependência podem usar o DependencyPropertyKey em chamadas para SetValue e ClearValue que ajustam o valor da propriedade como parte da lógica de classe. Se permitido pelo nível de acesso da chave, as classes relacionadas também podem usar a chave e a propriedade de dependência. Por exemplo, você pode declarar a chave como interna e outros tipos dentro do mesmo assembly também podem definir essa propriedade de dependência.
O DependencyPropertyKey retornado pelo registro de propriedade de dependência somente leitura não deve ser tornado público, pois expor a chave torna a propriedade configurável, derrotando assim o ponto de registrá-la como uma propriedade de dependência somente leitura. Além disso, expor a chave causa uma incompatibilidade entre os comportamentos de propriedade de dependência disponíveis e suas implementações de wrapper de propriedade CLR (Common Language Runtime), que é um design de classe inválido.
Em vez de expor a chave em si, você deve expor o valor DependencyProperty do DependencyPropertyKey como um public static readonly
DependencyProperty em sua classe. Isso permite que a propriedade retorne um identificador de propriedade de dependência válido para determinadas operações do sistema de propriedades, como enumerar valores definidos localmente. No entanto, o identificador obtido, portanto, não tem os recursos completos de um DependencyProperty para muitas operações do sistema de propriedades.
Propriedades
DependencyProperty |
Obtém o identificador de propriedade de dependência associado a esse identificador de propriedade de dependência somente leitura especializado. |
Métodos
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
OverrideMetadata(Type, PropertyMetadata) |
Substitui os metadados de uma propriedade de dependência somente leitura representada por esse identificador de propriedade de dependência. |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |