BindableAttribute Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt an, ob ein Element in der Regel für die Bindung verwendet wird. Diese Klasse kann nicht geerbt werden.
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
- Vererbung
- Attribute
Beispiele
Im folgenden Codebeispiel wird eine Eigenschaft entsprechend gekennzeichnet, an die Daten gebunden werden sollen.
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
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 MyProperty
zu 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.
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
Wenn Sie eine Klasse mit dem BindableAttributemarkiert haben, verwenden Sie das folgende Codebeispiel, um den Wert zu überprüfen.
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
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 true
festgelegten 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.
Anmerkung
Wenn Sie eine Eigenschaft mit BindableAttribute auf true
festlegen, wird der Wert dieses Attributs auf das konstante Element Yesfestgelegt. Bei einer Eigenschaft, die mit dem BindableAttribute auf false
festgelegt 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.
Vorsicht
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) |