DependencyProperty.RegisterAttachedReadOnly 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.
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.