Leggi in inglese

Condividi tramite


BindableAttribute Classe

Definizione

Specifica se un membro viene generalmente utilizzato per l'associazione. La classe non può essere ereditata.

C#
[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class BindableAttribute : Attribute
Ereditarietà
BindableAttribute
Attributi

Esempio

L'esempio di codice seguente contrassegna una proprietà come appropriato per associare i dati.

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

Nell'esempio di codice seguente viene illustrato come controllare il valore di BindableAttribute per MyProperty. Innanzitutto, il codice ottiene un PropertyDescriptorCollection oggetto con tutte le proprietà per l'oggetto . Successivamente, il codice indicizza in PropertyDescriptorCollection per ottenere MyProperty. Infine, il codice restituisce gli attributi per questa proprietà e li salva nella variabile degli attributi. L'esempio di codice presenta due modi diversi per controllare il valore di BindableAttribute. Nel secondo frammento di codice l'esempio chiama il Equals metodo . Nell'ultimo frammento di codice l'esempio usa la Bindable proprietà per controllare il valore.

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 è stata contrassegnata una classe con BindableAttribute, usare l'esempio di codice seguente per controllare il valore.

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

Commenti

È possibile specificare questo attributo per più membri, in genere proprietà, in un controllo .

Se una proprietà è stata contrassegnata con l'oggetto BindableAttribute impostato su true, deve essere generata una notifica di modifica della proprietà per tale proprietà. Ciò significa che se la Bindable proprietà è Yes, il data binding bidirezionale è supportato. Se Bindable è No, è comunque possibile eseguire l'associazione alla proprietà, ma non deve essere visualizzata nel set predefinito di proprietà a cui eseguire l'associazione, perché potrebbe generare o meno una notifica di modifica della proprietà.

Nota

Quando si contrassegna una proprietà con BindableAttribute impostato su true, il valore di questo attributo viene impostato sul membro Yescostante . Per una proprietà contrassegnata con l'oggetto BindableAttribute impostato su false, il valore è No. Pertanto, per controllare il valore di questo attributo nel codice, è necessario specificare l'attributo come BindableAttribute.Yes o BindableAttribute.No.

Attenzione

È possibile usare questo attributo solo in fase di progettazione. Nulla impedisce di eseguire il binding a qualsiasi proprietà durante l'esecuzione.

Per altre informazioni, vedere Attributi.

Costruttori

BindableAttribute(BindableSupport)

Inizializza una nuova istanza della classe BindableAttribute con uno dei valori BindableSupport.

BindableAttribute(BindableSupport, BindingDirection)

Inizializza una nuova istanza della classe BindableAttribute.

BindableAttribute(Boolean)

Inizializza una nuova istanza della classe BindableAttribute con un valore booleano.

BindableAttribute(Boolean, BindingDirection)

Inizializza una nuova istanza della classe BindableAttribute.

Campi

Default

Consente di specificare il valore predefinito per l'attributo BindableAttribute, che è No. Questo campo è di sola lettura.

No

Consente di specificare che una proprietà non viene generalmente utilizzata per l'associazione. Questo campo è di sola lettura.

Yes

Consente di specificare che una proprietà viene generalmente utilizzata per l'associazione. Questo campo è di sola lettura.

Proprietà

Bindable

Ottiene un valore che indica che una proprietà viene generalmente utilizzata per l'associazione.

Direction

Ottiene un valore che indica la o le direzioni dell'associazione dati di questa proprietà.

TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.

(Ereditato da Attribute)

Metodi

Equals(Object)

Determina se due oggetti BindableAttribute sono uguali.

GetHashCode()

Viene utilizzato come funzione hash per la classe BindableAttribute.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IsDefaultAttribute()

Determina se questo attributo è predefinito.

Match(Object)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.

(Ereditato da Attribute)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

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

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.

(Ereditato da Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.

(Ereditato da Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).

(Ereditato da Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.

(Ereditato da Attribute)

Si applica a

Prodotto Versioni
.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

Vedi anche