BindableAttribute Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Especifica si un miembro se usa normalmente para el enlace. Esta clase no se puede heredar.
public ref class BindableAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class BindableAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.All)>]
type BindableAttribute = class
inherit Attribute
Public NotInheritable Class BindableAttribute
Inherits Attribute
- Herencia
- Atributos
Ejemplos
En el ejemplo de código siguiente se marca una propiedad según corresponda para enlazar datos.
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 del BindableAttribute para MyProperty
. En primer lugar, el código obtiene un PropertyDescriptorCollection con todas las propiedades del objeto . A continuación, el código se indexa en el PropertyDescriptorCollection para obtener MyProperty
. Por último, el código devuelve los atributos de esta propiedad y los guarda en la variable attributes. El ejemplo de código presenta dos maneras diferentes de comprobar el valor del BindableAttribute. En el segundo fragmento de código, el ejemplo llama al método Equals. En el último fragmento de código, en el ejemplo se usa la propiedad Bindable para comprobar el valor.
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 el BindableAttribute, use el ejemplo de código siguiente para comprobar el valor.
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
Comentarios
Puede especificar este atributo para varios miembros, normalmente propiedades, en un control .
Si una propiedad se ha marcado con el BindableAttribute establecido en true
, se debe generar una notificación de cambio de propiedad para esa propiedad. Esto significa que si la propiedad Bindable es Yes, se admite el enlace de datos bidireccional. Si Bindable es No, puede seguir enlazando a la propiedad , pero no debe mostrarse en el conjunto predeterminado de propiedades a las que enlazar, ya que podría o no generar una notificación de cambio de propiedad.
Nota
Cuando se marca una propiedad con BindableAttribute establecida en true
, el valor de este atributo se establece en el miembro constante Yes. Para una propiedad marcada con el BindableAttribute establecido en false
, el valor es 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.
Cautela
Puede usar este atributo solo en tiempo de diseño. Nada impide que se enlace a cualquier propiedad durante el tiempo de ejecución.
Para obtener más información, vea atributos de .
Constructores
BindableAttribute(BindableSupport, BindingDirection) |
Inicializa una nueva instancia de la clase BindableAttribute. |
BindableAttribute(BindableSupport) |
Inicializa una nueva instancia de la clase BindableAttribute con uno de los valores de BindableSupport. |
BindableAttribute(Boolean, BindingDirection) |
Inicializa una nueva instancia de la clase BindableAttribute. |
BindableAttribute(Boolean) |
Inicializa una nueva instancia de la clase BindableAttribute con un valor booleano. |
Campos
Default |
Especifica el valor predeterminado del BindableAttribute, que es No. Este campo es de solo lectura. |
No |
Especifica que una propiedad no se usa normalmente para el enlace. Este campo es de solo lectura. |
Yes |
Especifica que una propiedad se usa normalmente para el enlace. Este campo es de solo lectura. |
Propiedades
Bindable |
Obtiene un valor que indica que una propiedad se usa normalmente para el enlace. |
Direction |
Obtiene un valor que indica la dirección o las direcciones del enlace de datos de esta propiedad. |
TypeId |
Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute. (Heredado de Attribute) |
Métodos
Equals(Object) |
Determina si dos objetos BindableAttribute son iguales. |
GetHashCode() |
Actúa como una función hash para la clase BindableAttribute. |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
IsDefaultAttribute() |
Determina si este atributo es el valor predeterminado. |
Match(Object) |
Cuando se reemplaza en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado. (Heredado de Attribute) |
MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Implementaciones de interfaz explícitas
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío. (Heredado de Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera la información de tipo de un objeto, que se puede usar para obtener la información de tipo de una interfaz. (Heredado de Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Recupera el número de interfaces de información de tipo que proporciona un objeto (0 o 1). (Heredado de Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Proporciona acceso a propiedades y métodos expuestos por un objeto . (Heredado de Attribute) |