BindableAttribute Classe

Definição

Especifica se um membro é normalmente usado para associação.Specifies whether a member is typically used for binding. Essa classe não pode ser herdada.This class cannot be inherited.

public ref class BindableAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class BindableAttribute : Attribute
type BindableAttribute = class
    inherit Attribute
Public NotInheritable Class BindableAttribute
Inherits Attribute
Herança
BindableAttribute
Atributos

Exemplos

O exemplo de código a seguir marca uma propriedade como apropriada para associar dados a.The following code example marks a property as appropriate to bind data to.

property int MyProperty 
{
   [System::ComponentModel::Bindable(true)]
   int get()
   {
      // Insert code here.
      return 0;
   }

   [System::ComponentModel::Bindable(true)]
   void set( int )
   {
      // Insert code here.
   }
}
[Bindable(true)]
 public int MyProperty {
    get {
       // Insert code here.
       return 0;
    }
    set {
       // Insert code here.
    }
 }
<Bindable(True)> _
Public Property MyProperty() As Integer
    Get
        ' Insert code here.
        Return 0
    End Get
    Set
         ' Insert code here.
    End Set
End Property

O próximo exemplo de código mostra como verificar o valor de BindableAttribute para. MyPropertyThe next code example shows how to check the value of the BindableAttribute for MyProperty. Primeiro, o código obtém um PropertyDescriptorCollection com todas as propriedades do objeto.First, the code gets a PropertyDescriptorCollection with all the properties for the object. Em seguida, o código é indexado PropertyDescriptorCollection no MyPropertypara get.Next, the code indexes into the PropertyDescriptorCollection to get MyProperty. Por fim, o código retorna os atributos para essa propriedade e os salva na variável attributes.Finally, the code returns the attributes for this property and saves them in the attributes variable. O exemplo de código apresenta duas maneiras diferentes de verificar o valor de BindableAttribute.The code example presents two different ways to check the value of the BindableAttribute. No segundo fragmento de código, o exemplo chama o Equals método.In the second code fragment, the example calls the Equals method. No último fragmento de código, o exemplo usa a Bindable propriedade para verificar o valor.In the last code fragment, the example uses the Bindable property to check the value.

using namespace System::ComponentModel;

// 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[ BindableAttribute::typeid ]->Equals( BindableAttribute::Yes ) )
{
   // Insert code here.
}

// This is another way to see whether the property is bindable.
BindableAttribute^ myAttribute = static_cast<BindableAttribute^>(attributes[ BindableAttribute::typeid ]);
if ( myAttribute->Bindable )
{
   // Insert code here.
}

// Yet another way to see whether the property is bindable.
if ( attributes->Contains( BindableAttribute::Yes ) )
{
   // Insert code here.
}
   // 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.
}

    ' Gets the attributes for the property.
    Dim attributes As AttributeCollection = _
        TypeDescriptor.GetProperties(Me)("MyProperty").Attributes
    
    ' Checks to see if the value of the BindableAttribute is Yes.
    If attributes(GetType(BindableAttribute)).Equals(BindableAttribute.Yes) Then
        ' Insert code here.
    End If 
    
    ' This is another way to see whether the property is bindable.
    Dim myAttribute As BindableAttribute = _
        CType(attributes(GetType(BindableAttribute)), BindableAttribute)
    If myAttribute.Bindable Then
        ' Insert code here.
    End If 

' Yet another way to see whether the property is bindable.
If attributes.Contains(BindableAttribute.Yes) Then
' Insert code here.
End If

Se você marcou uma classe com o BindableAttribute, use o exemplo de código a seguir para verificar o valor.If you marked a class with the BindableAttribute, use the following code example to check the value.

using namespace System::ComponentModel;
AttributeCollection^ attributes = TypeDescriptor::GetAttributes( MyProperty );
if ( attributes[ BindableAttribute::typeid ]->Equals( BindableAttribute::Yes ) )
{
   // Insert code here.
}
AttributeCollection attributes = 
    TypeDescriptor.GetAttributes(MyProperty);
 if(attributes[typeof(BindableAttribute)].Equals(BindableAttribute.Yes)) {
    // Insert code here.
 }
Dim attributes As AttributeCollection = TypeDescriptor.GetAttributes(MyProperty)
If attributes(GetType(BindableAttribute)).Equals(BindableAttribute.Yes) Then
    ' Insert code here.
End If 

Comentários

Você pode especificar esse atributo para vários membros, normalmente Propriedades, em um controle.You can specify this attribute for multiple members, typically properties, on a control.

Se uma propriedade tiver sido marcada com o BindableAttribute definido como true, uma notificação de alteração de propriedade deverá ser gerada para essa propriedade.If a property has been marked with the BindableAttribute set to true, then a property change notification should be raised for that property. Isso significa que, se Bindable a propriedade Yesfor, a ligação de dados bidirecional será suportada.This means that if the Bindable property is Yes, then two-way data binding is supported. Se Bindable forNo, você ainda poderá se associar à propriedade, mas ela não deve ser mostrada no conjunto padrão de propriedades para associar, porque ela pode ou não gerar uma notificação de alteração de propriedade.If Bindable is No, you can still bind to the property, but it should not be shown in the default set of properties to bind to, because it might or might not raise a property change notification.

Observação

Quando você marca uma propriedade com BindableAttribute definido como true, o valor desse atributo é definido como o membro Yesconstante.When you mark a property with BindableAttribute set to true, the value of this attribute is set to the constant member Yes. Para uma propriedade marcada com o BindableAttribute definido como false, o valor é No.For a property marked with the BindableAttribute set to false, the value is No. Portanto, para verificar o valor desse atributo em seu código, você deve especificar o atributo como BindableAttribute.Yes ou. BindableAttribute.NoTherefore, to check the value of this attribute in your code, you must specify the attribute as BindableAttribute.Yes or BindableAttribute.No.

Cuidado

Você pode usar esse atributo somente no momento do design.You can use this attribute at design time only. Nada impede que você se vincule a qualquer propriedade durante o tempo de execução.Nothing prevents you from binding to any property during run time.

Para obter mais informações, consulte Atributos.For more information, see Attributes.

Construtores

BindableAttribute(BindableSupport)

Inicializa uma nova instância da classe BindableAttribute com um dos valores BindableSupport.Initializes a new instance of the BindableAttribute class with one of the BindableSupport values.

BindableAttribute(BindableSupport, BindingDirection)

Inicializa uma nova instância da classe BindableAttribute.Initializes a new instance of the BindableAttribute class.

BindableAttribute(Boolean)

Inicializa uma nova instância da classe BindableAttribute com um valor booliano.Initializes a new instance of the BindableAttribute class with a Boolean value.

BindableAttribute(Boolean, BindingDirection)

Inicializa uma nova instância da classe BindableAttribute.Initializes a new instance of the BindableAttribute class.

Campos

Default

Especifica o valor padrão para o BindableAttribute, que é No.Specifies the default value for the BindableAttribute, which is No. Este campo é somente leitura.This field is read-only.

No

Especifica que uma propriedade não é normalmente usada para associação.Specifies that a property is not typically used for binding. Este campo é somente leitura.This field is read-only.

Yes

Especifica que uma propriedade é normalmente usada para associação.Specifies that a property is typically used for binding. Este campo é somente leitura.This field is read-only.

Propriedades

Bindable

Obtém um valor que indica que uma propriedade normalmente é usada para associação.Gets a value indicating that a property is typically used for binding.

Direction

Obtém um valor que indica a direção da associação de dados desta propriedade.Gets a value indicating the direction or directions of this property's data binding.

TypeId

Quando implementado em uma classe derivada, obtém um identificador exclusivo para este Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Herdado de Attribute)

Métodos

Equals(Object)

Determina se dois objetos BindableAttribute são iguais.Determines whether two BindableAttribute objects are equal.

GetHashCode()

Serve como uma função hash para a classe BindableAttribute.Serves as a hash function for the BindableAttribute class.

GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
IsDefaultAttribute()

Determina se este atributo é o padrão.Determines if this attribute is the default.

Match(Object)

Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Herdado de Attribute)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(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.Maps a set of names to a corresponding set of dispatch identifiers.

(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.Retrieves the type information for an object, which can be used to get the type information for an 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).Retrieves the number of type information interfaces that an object provides (either 0 or 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.Provides access to properties and methods exposed by an object.

(Herdado de Attribute)

Aplica-se a

Veja também