BindableAttribute Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Określa, czy element członkowski jest zwykle używany do tworzenia powiązań. Tej klasy nie można dziedziczyć.
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
- Dziedziczenie
- Atrybuty
Przykłady
Poniższy przykład kodu oznacza właściwość odpowiednio do powiązania danych z.
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
W następnym przykładzie kodu pokazano, jak sprawdzić wartość BindableAttribute dla MyProperty
. Najpierw kod pobiera PropertyDescriptorCollection ze wszystkimi właściwościami obiektu. Następnie kod indeksuje do PropertyDescriptorCollection, aby uzyskać MyProperty
. Na koniec kod zwraca atrybuty tej właściwości i zapisuje je w zmiennej atrybutów. W przykładzie kodu przedstawiono dwa różne sposoby sprawdzania wartości BindableAttribute. W drugim fragmentcie kodu przykład wywołuje metodę Equals. W ostatnim fragmentcie kodu w przykładzie użyto właściwości Bindable w celu sprawdzenia wartości.
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
Jeśli oznaczono klasę BindableAttribute, użyj poniższego przykładu kodu, aby sprawdzić wartość.
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
Uwagi
Ten atrybut można określić dla wielu elementów członkowskich, zazwyczaj właściwości, na kontrolce.
Jeśli właściwość została oznaczona BindableAttribute ustawioną na true
, dla tej właściwości powinno zostać zgłoszone powiadomienie o zmianie właściwości. Oznacza to, że jeśli właściwość Bindable jest Yes, obsługiwane jest dwukierunkowe powiązanie danych. Jeśli Bindable jest No, nadal można powiązać z właściwością, ale nie powinna być wyświetlana w domyślnym zestawie właściwości do powiązania, ponieważ może lub nie może zgłosić powiadomienia o zmianie właściwości.
Nuta
Gdy oznaczysz właściwość przy użyciu BindableAttribute ustawioną na true
, wartość tego atrybutu jest ustawiona na stałą Yesskładową . Dla właściwości oznaczonej BindableAttribute ustawioną na false
wartość to No. W związku z tym, aby sprawdzić wartość tego atrybutu w kodzie, należy określić atrybut jako BindableAttribute.Yes lub BindableAttribute.No.
Ostrożność
Tego atrybutu można używać tylko w czasie projektowania. Nic nie uniemożliwia wiązania z dowolną właściwością w czasie wykonywania.
Aby uzyskać więcej informacji, zobacz Atrybuty.
Konstruktory
BindableAttribute(BindableSupport, BindingDirection) |
Inicjuje nowe wystąpienie klasy BindableAttribute. |
BindableAttribute(BindableSupport) |
Inicjuje nowe wystąpienie klasy BindableAttribute z jedną z wartości BindableSupport. |
BindableAttribute(Boolean, BindingDirection) |
Inicjuje nowe wystąpienie klasy BindableAttribute. |
BindableAttribute(Boolean) |
Inicjuje nowe wystąpienie klasy BindableAttribute z wartością logiczną. |
Pola
Default |
Określa wartość domyślną BindableAttribute, która jest No. To pole jest tylko do odczytu. |
No |
Określa, że właściwość nie jest zwykle używana do powiązania. To pole jest tylko do odczytu. |
Yes |
Określa, że właściwość jest zwykle używana do powiązania. To pole jest tylko do odczytu. |
Właściwości
Bindable |
Pobiera wartość wskazującą, że właściwość jest zwykle używana do powiązania. |
Direction |
Pobiera wartość wskazującą kierunek lub kierunek powiązania danych tej właściwości. |
TypeId |
Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego Attribute. (Odziedziczone po Attribute) |
Metody
Equals(Object) |
Określa, czy dwa obiekty BindableAttribute są równe. |
GetHashCode() |
Służy jako funkcja skrótu dla klasy BindableAttribute. |
GetType() |
Pobiera Type bieżącego wystąpienia. (Odziedziczone po Object) |
IsDefaultAttribute() |
Określa, czy ten atrybut jest domyślny. |
Match(Object) |
Po zastąpieniu w klasie pochodnej zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu obiektowi. (Odziedziczone po Attribute) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Object. (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Jawne implementacje interfejsu
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapuje zestaw nazw na odpowiedni zestaw identyfikatorów wysyłki. (Odziedziczone po Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Pobiera informacje o typie obiektu, którego można użyć do uzyskania informacji o typie dla interfejsu. (Odziedziczone po Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Pobiera liczbę interfejsów informacyjnych typu zapewnianych przez obiekt (0 lub 1). (Odziedziczone po Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Zapewnia dostęp do właściwości i metod uwidocznionych przez obiekt. (Odziedziczone po Attribute) |