DependencyPropertyKey.DependencyProperty Propriedade
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.
Obtém o identificador de propriedade de dependência associado a este identificador de propriedade de dependência somente leitura especializado.
public:
property System::Windows::DependencyProperty ^ DependencyProperty { System::Windows::DependencyProperty ^ get(); };
public System.Windows.DependencyProperty DependencyProperty { get; }
member this.DependencyProperty : System.Windows.DependencyProperty
Public ReadOnly Property DependencyProperty As DependencyProperty
Valor da propriedade
O identificador de propriedade de dependência relevante.
Exemplos
O exemplo a seguir chama DependencyProperty para expor o DependencyProperty identificador (AquariumGraphicProperty
) para a AquariumGraphic
propriedade de dependência somente leitura em uma classe. O exemplo também mostra a DependencyPropertyKey criação (como um membro interno) e o acessador get para AquariumGraphic
.
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
O DependencyProperty valor permite que o identificador de uma propriedade somente leitura participe de operações comuns do sistema de propriedades usando algumas das mesmas interfaces usadas para propriedades de dependência de leitura/gravação.
Para implementar o acessador de propriedade get para uma propriedade de dependência somente leitura, você deve criar e expor um DependencyProperty identificador em sua classe. Isso atende a duas finalidades:
Sua própria classe precisa do DependencyProperty identificador para implementar o acessador get para o wrapper de propriedade. Você usa o DependencyProperty como um parâmetro para a GetValue chamada que implementa o acessador get.
DependencyProperty os identificadores expõem sua propriedade de dependência ao sistema de propriedades de modo que outros métodos que dependem de metadados possam acessá-la de forma padrão. Por exemplo, se você chamou GetLocalValueEnumerator alguns DependencyObject e obteve uma enumeração de propriedades definidas localmente (valores e identificadores), o identificador retornado para uma propriedade de dependência somente leitura seria seu DependencyProperty valor em vez da chave. Não expor um DependencyProperty identificador não aumenta a segurança de sua propriedade de dependência somente leitura de forma alguma, apenas torna as operações que envolvem sua propriedade mais embaraçosas tanto para classes derivadas subsequentes quanto para instâncias de classe.
Para expor o DependencyProperty identificador em sua classe, você chama DependencyProperty diretamente em sua chave. Use esse valor para criar um public static readonly
DependencyProperty identificador na classe , que faz o paralelo com o DependencyPropertyKey.
Aplica-se a
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de