Auf Englisch lesen

Freigeben über


BindableAttribute Klasse

Definition

Gibt an, ob ein Element in der Regel für die Bindung verwendet wird. Diese Klasse kann nicht geerbt werden.

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

Beispiele

Im folgenden Codebeispiel wird eine Eigenschaft entsprechend gekennzeichnet, an die Daten gebunden werden sollen.

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

Das nächste Codebeispiel zeigt, wie der Wert der BindableAttribute für MyPropertyüberprüft wird. Zunächst ruft der Code eine PropertyDescriptorCollection mit allen Eigenschaften für das Objekt ab. Als Nächstes indiziert der Code in der PropertyDescriptorCollection, um MyPropertyzu erhalten. Schließlich gibt der Code die Attribute für diese Eigenschaft zurück und speichert sie in der Attributvariable. Im Codebeispiel werden zwei verschiedene Möglichkeiten zum Überprüfen des Werts der BindableAttributedargestellt. Im zweiten Codefragment ruft das Beispiel die Equals-Methode auf. Im letzten Codefragment verwendet das Beispiel die Bindable-Eigenschaft, um den Wert zu überprüfen.

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.
}

Wenn Sie eine Klasse mit dem BindableAttributemarkiert haben, verwenden Sie das folgende Codebeispiel, um den Wert zu überprüfen.

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

Hinweise

Sie können dieses Attribut für mehrere Member, in der Regel Eigenschaften, für ein Steuerelement angeben.

Wenn eine Eigenschaft mit dem auf truefestgelegten BindableAttribute markiert wurde, sollte für diese Eigenschaft eine Eigenschaftsänderungsbenachrichtigung ausgelöst werden. Dies bedeutet, dass die bidirektionale Datenbindung unterstützt wird, wenn die Bindable-Eigenschaft Yesist. Wenn BindableNoist, können Sie trotzdem eine Bindung an die Eigenschaft ausführen, sie sollte jedoch nicht im Standardsatz der eigenschaften angezeigt werden, an die eine Bindung gebunden werden soll, da sie möglicherweise eine Benachrichtigung über Die Eigenschaftsänderung auslöst oder nicht.

Hinweis

Wenn Sie eine Eigenschaft mit BindableAttribute auf truefestlegen, wird der Wert dieses Attributs auf das konstante Element Yesfestgelegt. Bei einer Eigenschaft, die mit dem BindableAttribute auf falsefestgelegt ist, wird der Wert No. Um den Wert dieses Attributs in Ihrem Code zu überprüfen, müssen Sie das Attribut daher als BindableAttribute.Yes oder BindableAttribute.Noangeben.

Achtung

Sie können dieses Attribut nur zur Entwurfszeit verwenden. Nichts verhindert, dass Sie während der Laufzeit an eine Eigenschaft binden.

Weitere Informationen finden Sie unter Attributes.

Konstruktoren

BindableAttribute(BindableSupport, BindingDirection)

Initialisiert eine neue Instanz der BindableAttribute Klasse.

BindableAttribute(BindableSupport)

Initialisiert eine neue Instanz der BindableAttribute Klasse mit einem der BindableSupport Werte.

BindableAttribute(Boolean, BindingDirection)

Initialisiert eine neue Instanz der BindableAttribute Klasse.

BindableAttribute(Boolean)

Initialisiert eine neue Instanz der BindableAttribute Klasse mit einem booleschen Wert.

Felder

Default

Gibt den Standardwert für den BindableAttributean, der Noist. Dieses Feld ist schreibgeschützt.

No

Gibt an, dass eine Eigenschaft normalerweise nicht für die Bindung verwendet wird. Dieses Feld ist schreibgeschützt.

Yes

Gibt an, dass eine Eigenschaft in der Regel für die Bindung verwendet wird. Dieses Feld ist schreibgeschützt.

Eigenschaften

Bindable

Ruft einen Wert ab, der angibt, dass eine Eigenschaft normalerweise für die Bindung verwendet wird.

Direction

Ruft einen Wert ab, der die Richtung oder Richtung der Datenbindung dieser Eigenschaft angibt.

TypeId

Wenn sie in einer abgeleiteten Klasse implementiert wird, wird ein eindeutiger Bezeichner für diese Attribute.

(Geerbt von Attribute)

Methoden

Equals(Object)

Bestimmt, ob zwei BindableAttribute Objekte gleich sind.

GetHashCode()

Dient als Hashfunktion für die BindableAttribute Klasse.

GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
IsDefaultAttribute()

Bestimmt, ob dieses Attribut die Standardeinstellung ist.

Match(Object)

Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem angegebenen Objekt entspricht.

(Geerbt von Attribute)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

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

Ordnet einen Satz von Namen einem entsprechenden Satz von Verteiler-IDs zu.

(Geerbt von Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit denen die Typinformationen für eine Schnittstelle abgerufen werden können.

(Geerbt von Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Typinformationsschnittstellen ab, die ein Objekt bereitstellt (entweder 0 oder 1).

(Geerbt von Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bietet Zugriff auf Eigenschaften und Methoden, die von einem Objekt verfügbar gemacht werden.

(Geerbt von Attribute)

Gilt für:

Produkt Versionen
.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

Weitere Informationen