DependencyProperty.RegisterAttachedReadOnly Método

Definição

Regista uma propriedade associada apenas de leitura.

Sobrecargas

Name Description
RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)

Regista uma propriedade associada apenas de leitura, com o tipo de propriedade especificado, tipo de proprietário e metadados da propriedade.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Regista uma propriedade associada apenas de leitura, com o tipo de propriedade especificado, tipo de proprietário, metadados de propriedade e um callback de validação.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)

Regista uma propriedade associada apenas de leitura, com o tipo de propriedade especificado, tipo de proprietário e metadados da propriedade.

public:
 static System::Windows::DependencyPropertyKey ^ RegisterAttachedReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ defaultMetadata);
public static System.Windows.DependencyPropertyKey RegisterAttachedReadOnly(string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata defaultMetadata);
static member RegisterAttachedReadOnly : string * Type * Type * System.Windows.PropertyMetadata -> System.Windows.DependencyPropertyKey
Public Shared Function RegisterAttachedReadOnly (name As String, propertyType As Type, ownerType As Type, defaultMetadata As PropertyMetadata) As DependencyPropertyKey

Parâmetros

name
String

O nome da propriedade de dependência a registar.

propertyType
Type

O tipo de propriedade.

ownerType
Type

O tipo de proprietário que está a registar a propriedade de dependência.

defaultMetadata
PropertyMetadata

Metadados da propriedade para a propriedade de dependência.

Devoluções

Uma chave de propriedade de dependência que deve ser usada para definir o valor de um campo estático de somente leitura na sua classe, que depois é usado para referenciar a propriedade de dependência mais tarde.

Observações

Este método devolve o tipo DependencyPropertyKey, enquanto RegisterAttached devolve o tipo DependencyProperty. Normalmente, as chaves que representam propriedades de somente leitura não são tornadas públicas, porque as chaves podem ser usadas para definir o valor da propriedade de dependência chamando SetValue(DependencyPropertyKey, Object). O design da tua classe afetará os requisitos, mas geralmente recomenda-se limitar o acesso e a visibilidade de qualquer uma DependencyPropertyKey apenas às partes do teu código que são necessárias para definir essa propriedade de dependência como parte da lógica de classes ou aplicações. Também se recomenda que exponha um identificador de propriedade de dependência para a propriedade de dependência de apenas leitura, expondo o valor de DependencyPropertyKey.DependencyProperty como campo public static readonly na sua classe.

As propriedades anexadas apenas de leitura são um cenário raro, porque o cenário principal para uma propriedade anexada é a sua utilização em XAML. Sem um setter público, uma propriedade anexada não pode ser definida na sintaxe XAML.

Para mais informações sobre o registo de propriedades por dependência, consulte DependencyProperty.

Use o RegisterAttached para propriedades de dependência herdadoras de valor

Um cenário particular para registar um bem de dependência como anexado é suportar a herança do valor do imóvel. Deves registar propriedades de dependência de herança de valor mesmo RegisterAttached que a classe defina accessors de wrapper de propriedades que expõem a propriedade de dependência, e mesmo que não tenciones expor métodos estáticos Get* e Set* para fornecer verdadeiros acessórios de suporte de propriedades anexadas. Embora a herança do valor de propriedade possa parecer funcionar para propriedades de dependência não vinculada, o comportamento de herança para uma propriedade não vinculada através de certos limites de elementos na árvore de execução é indefinido. Registar a propriedade como anexada torna, na prática, a propriedade anexada uma propriedade global para o sistema de propriedades, e assegura que a herança do valor da propriedade funciona em todas as fronteiras numa árvore de elementos. Sempre use RegisterAttached para registrar propriedades nas quais você especifica Inherits nos metadados. Para mais informações, consulte Herança do Valor da Propriedade.

Aplica-se a

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Regista uma propriedade associada apenas de leitura, com o tipo de propriedade especificado, tipo de proprietário, metadados de propriedade e um callback de validação.

public:
 static System::Windows::DependencyPropertyKey ^ RegisterAttachedReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ defaultMetadata, System::Windows::ValidateValueCallback ^ validateValueCallback);
public static System.Windows.DependencyPropertyKey RegisterAttachedReadOnly(string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata defaultMetadata, System.Windows.ValidateValueCallback validateValueCallback);
static member RegisterAttachedReadOnly : string * Type * Type * System.Windows.PropertyMetadata * System.Windows.ValidateValueCallback -> System.Windows.DependencyPropertyKey
Public Shared Function RegisterAttachedReadOnly (name As String, propertyType As Type, ownerType As Type, defaultMetadata As PropertyMetadata, validateValueCallback As ValidateValueCallback) As DependencyPropertyKey

Parâmetros

name
String

O nome da propriedade de dependência a registar.

propertyType
Type

O tipo de propriedade.

ownerType
Type

O tipo de proprietário que está a registar a propriedade de dependência.

defaultMetadata
PropertyMetadata

Metadados da propriedade para a propriedade de dependência.

validateValueCallback
ValidateValueCallback

Uma referência a um callback criado pelo utilizador que deve realizar qualquer validação personalizada do valor da propriedade de dependência para além da validação típica de tipos.

Devoluções

Uma chave de propriedade de dependência que deve ser usada para definir o valor de um campo estático de apenas leitura na sua classe, que depois é usado para referenciar a propriedade de dependência.

Observações

Este método devolve o tipo DependencyPropertyKey, enquanto RegisterAttached devolve o tipo DependencyProperty. Tipicamente, as chaves que representam o tipo DependencyProperty. Normalmente, as chaves que representam propriedades de somente leitura não são tornadas públicas, porque as chaves podem ser usadas para definir o valor da propriedade de dependência chamando SetValue(DependencyPropertyKey, Object). O design da tua classe afetará os requisitos, mas geralmente recomenda-se limitar o acesso e a visibilidade de qualquer uma DependencyPropertyKey apenas às partes do teu código que são necessárias para definir essa propriedade de dependência como parte da lógica de classes ou aplicações. Também se recomenda que exponha um identificador de propriedade de dependência para a propriedade de dependência de apenas leitura, expondo o valor de DependencyPropertyKey.DependencyProperty como campo public static readonly na sua classe.

As propriedades anexadas apenas de leitura são um cenário raro, porque o cenário principal para uma propriedade anexada é a sua utilização em XAML. Sem um setter público, uma propriedade anexada não pode ser definida na sintaxe XAML.

Para mais informações sobre o registo de propriedades por dependência, consulte DependencyProperty.

Use o RegisterAttached para propriedades de dependência herdadoras de valor

Um cenário particular para registar um bem de dependência como anexado em vez de Register é suportar a herança do valor do imóvel. Deves registar propriedades de dependência de herança de valor mesmo RegisterAttached que a classe defina accessors de wrapper de propriedades que expõem a propriedade de dependência, e mesmo que não tenciones expor métodos estáticos Get* e Set* para fornecer verdadeiros acessórios de suporte de propriedades anexadas. Embora a herança do valor de propriedade possa parecer funcionar para propriedades de dependência não vinculada, o comportamento de herança para uma propriedade não vinculada através de certos limites de elementos na árvore de execução é indefinido. Registar a propriedade como anexada torna, na prática, a propriedade anexada uma propriedade global para o sistema de propriedades, e assegura que a herança do valor da propriedade funciona em todas as fronteiras numa árvore de elementos. Sempre use RegisterAttached para registrar propriedades nas quais você especifica Inherits nos metadados. Para mais informações, consulte Herança do Valor da Propriedade.

Aplica-se a