Ler em inglês

Compartilhar via


BindableAttribute Classe

Definição

Especifica se um membro é normalmente usado para associação. Essa classe não pode ser herdada.

C#
[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class BindableAttribute : Attribute
Herança
BindableAttribute
Atributos

Exemplos

O exemplo de código a seguir marca uma propriedade conforme apropriado para associar dados.

C#
[Bindable(true)]
 public int MyProperty {
    get {
       // Insert code here.
       return 0;
    }
    set {
       // Insert code here.
    }
 }

O próximo exemplo de código mostra como marcar o valor do BindableAttribute para MyProperty. Primeiro, o código obtém um PropertyDescriptorCollection com todas as propriedades do objeto . Em seguida, o código indexa no PropertyDescriptorCollection para obter MyProperty. Por fim, o código retorna os atributos dessa propriedade e os salva na variável de atributos. O exemplo de código apresenta duas maneiras diferentes de marcar o valor do BindableAttribute. No segundo fragmento de código, o exemplo chama o Equals método . No último fragmento de código, o exemplo usa a Bindable propriedade para marcar o valor.

C#
   // Gets the attributes for the property.
    AttributeCollection attributes =
       TypeDescriptor.GetProperties(this)["MyProperty"].Attributes;

    // Checks to see if the value of the BindableAttribute is Yes.
    if(attributes[typeof(BindableAttribute)].Equals(BindableAttribute.Yes)) {
       // Insert code here.
    }

    // This is another way to see whether the property is bindable.
    BindableAttribute myAttribute =
       (BindableAttribute)attributes[typeof(BindableAttribute)];
    if(myAttribute.Bindable) {
       // Insert code here.
    }

// Yet another way to see whether the property is bindable.
if (attributes.Contains(BindableAttribute.Yes)) {
   // Insert code here.
}

Se você marcou uma classe com o BindableAttribute, use o exemplo de código a seguir para marcar o valor.

C#
AttributeCollection attributes =
    TypeDescriptor.GetAttributes(MyProperty);
 if(attributes[typeof(BindableAttribute)].Equals(BindableAttribute.Yes)) {
    // Insert code here.
 }

Comentários

Você pode especificar esse atributo para vários membros, normalmente propriedades, em um controle .

Se uma propriedade tiver sido marcada com o BindableAttribute definido truecomo , uma notificação de alteração de propriedade deverá ser gerada para essa propriedade. Isso significa que, se a Bindable propriedade for Yes, a associação de dados bidirecional terá suporte. Se Bindable for No, você ainda poderá associar à propriedade , mas ela não deverá ser mostrada no conjunto padrão de propriedades a serem associadas, pois ela pode ou não gerar uma notificação de alteração de propriedade.

Observação

Quando você marca uma propriedade com definido truecomo BindableAttribute , o valor desse atributo é definido como o membro Yesconstante . Para uma propriedade marcada com o BindableAttribute definido falsecomo , o valor é No. Portanto, para marcar o valor desse atributo em seu código, você deve especificar o atributo como BindableAttribute.Yes ou BindableAttribute.No.

Cuidado

Você pode usar esse atributo somente em tempo de design. Nada impede que você se vincule a qualquer propriedade durante o tempo de execução.

Para obter mais informações, consulte Atributos.

Construtores

BindableAttribute(BindableSupport)

Inicializa uma nova instância da classe BindableAttribute com um dos valores BindableSupport.

BindableAttribute(BindableSupport, BindingDirection)

Inicializa uma nova instância da classe BindableAttribute.

BindableAttribute(Boolean)

Inicializa uma nova instância da classe BindableAttribute com um valor booliano.

BindableAttribute(Boolean, BindingDirection)

Inicializa uma nova instância da classe BindableAttribute.

Campos

Default

Especifica o valor padrão para o BindableAttribute, que é No. Este campo é somente leitura.

No

Especifica que uma propriedade não é normalmente usada para associação. Este campo é somente leitura.

Yes

Especifica que uma propriedade é normalmente usada para associação. Este campo é somente leitura.

Propriedades

Bindable

Obtém um valor que indica que uma propriedade normalmente é usada para associação.

Direction

Obtém um valor que indica a direção da associação de dados desta propriedade.

TypeId

Quando implementado em uma classe derivada, obtém um identificador exclusivo para este Attribute.

(Herdado de Attribute)

Métodos

Equals(Object)

Determina se dois objetos BindableAttribute são iguais.

GetHashCode()

Serve como uma função hash para a classe BindableAttribute.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()

Determina se este atributo é o padrão.

Match(Object)

Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado.

(Herdado de Attribute)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição.

(Herdado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera as informações de tipo para um objeto, que pode ser usado para obter as informações de tipo para uma interface.

(Herdado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1).

(Herdado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornece acesso a propriedades e métodos expostos por um objeto.

(Herdado de Attribute)

Aplica-se a

Produto Versões
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Confira também