BindableAttribute Class

Definition

Especifica si un miembro se usa normalmente para el enlace.Specifies whether a member is typically used for binding. No se puede heredar esta clase.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
Inheritance
BindableAttribute
Attributes

Examples

En el ejemplo de código siguiente se marca una propiedad como adecuada para enlazar datos 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

En el ejemplo de código siguiente se muestra cómo comprobar el valor de la BindableAttribute para MyProperty.The next code example shows how to check the value of the BindableAttribute for MyProperty. En primer lugar, el código obtiene un PropertyDescriptorCollection con todas las propiedades del objeto.First, the code gets a PropertyDescriptorCollection with all the properties for the object. A continuación, el código indexa en el PropertyDescriptorCollection para obtener MyProperty.Next, the code indexes into the PropertyDescriptorCollection to get MyProperty. Por último, el código devuelve los atributos de esta propiedad y los guarda en la variable Attributes.Finally, the code returns the attributes for this property and saves them in the attributes variable. En el ejemplo de código se presentan dos maneras diferentes de comprobar el valor de la BindableAttribute.The code example presents two different ways to check the value of the BindableAttribute. En el segundo fragmento de código, el ejemplo llama al método Equals.In the second code fragment, the example calls the Equals method. En el último fragmento de código, en el ejemplo se usa la propiedad Bindable para comprobar el 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

Si marcó una clase con la BindableAttribute, use el siguiente ejemplo de código para comprobar el 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 

Remarks

Puede especificar este atributo para varios miembros, normalmente propiedades, en un control.You can specify this attribute for multiple members, typically properties, on a control.

Si una propiedad se ha marcado con la BindableAttribute establecida en true, se debe generar una notificación de cambio de propiedad para esa propiedad.If a property has been marked with the BindableAttribute set to true, then a property change notification should be raised for that property. Esto significa que si se Yesla propiedad Bindable, se admite el enlace de datos bidireccional.This means that if the Bindable property is Yes, then two-way data binding is supported. Si Bindable es No, todavía se puede enlazar a la propiedad, pero no se debe mostrar en el conjunto predeterminado de propiedades al que se va a enlazar, ya que puede producirse o no una notificación de cambio de propiedad.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.

Note

Cuando se marca una propiedad con BindableAttribute establecida en true, el valor de este atributo se establece en el miembro constante Yes.When you mark a property with BindableAttribute set to true, the value of this attribute is set to the constant member Yes. Para una propiedad marcada con la BindableAttribute establecida en false, el valor es No.For a property marked with the BindableAttribute set to false, the value is No. Por lo tanto, para comprobar el valor de este atributo en el código, debe especificar el atributo como BindableAttribute.Yes o BindableAttribute.No.Therefore, to check the value of this attribute in your code, you must specify the attribute as BindableAttribute.Yes or BindableAttribute.No.

Caution

Este atributo solo se puede utilizar en tiempo de diseño.You can use this attribute at design time only. Nada impide enlazar a cualquier propiedad durante el tiempo de ejecución.Nothing prevents you from binding to any property during run time.

Para obtener más información, consulte Attributes (Atributos).For more information, see Attributes.

Constructors

BindableAttribute(BindableSupport)

Inicializa una nueva instancia de la clase BindableAttribute con uno de los valores de BindableSupport.Initializes a new instance of the BindableAttribute class with one of the BindableSupport values.

BindableAttribute(BindableSupport, BindingDirection)

Inicializa una nueva instancia de la clase BindableAttribute.Initializes a new instance of the BindableAttribute class.

BindableAttribute(Boolean)

Inicia una nueva instancia de la clase BindableAttribute con un valor booleano.Initializes a new instance of the BindableAttribute class with a Boolean value.

BindableAttribute(Boolean, BindingDirection)

Inicializa una nueva instancia de la clase BindableAttribute.Initializes a new instance of the BindableAttribute class.

Fields

Default

Especifica el valor predeterminado de BindableAttribute, que es No.Specifies the default value for the BindableAttribute, which is No. Este campo es de solo lectura.This field is read-only.

No

Especifica que una propiedad no se utiliza normalmente para el enlace.Specifies that a property is not typically used for binding. Este campo es de solo lectura.This field is read-only.

Yes

Especifica que una propiedad se utiliza normalmente para el enlace.Specifies that a property is typically used for binding. Este campo es de solo lectura.This field is read-only.

Properties

Bindable

Obtiene un valor que indica que una propiedad se utiliza normalmente para el enlace.Gets a value indicating that a property is typically used for binding.

Direction

Obtiene un valor que indica la dirección o direcciones del enlace de datos de esta propiedad.Gets a value indicating the direction or directions of this property's data binding.

TypeId

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Methods

Equals(Object)

Determina si dos objetos BindableAttribute son iguales.Determines whether two BindableAttribute objects are equal.

GetHashCode()

Sirve como función hash para la clase BindableAttribute.Serves as a hash function for the BindableAttribute class.

GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute()

Determina si este atributo es el valor predeterminado.Determines if this attribute is the default.

Match(Object)

Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

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

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Obtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Applies to

See also