BindableAttribute クラス

定義

メンバーが通常、バインディングに使用されるかどうかを指定します。Specifies whether a member is typically used for binding. このクラスは継承できません。This class cannot be inherited.

public ref class BindableAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class BindableAttribute : Attribute
type BindableAttribute = class
    inherit Attribute
Public NotInheritable Class BindableAttribute
Inherits Attribute
継承
BindableAttribute
属性

次のコード例では、データをにバインドするために、適切なプロパティをマークします。The following code example marks a property as appropriate to bind data to.

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

次のコード例は、MyPropertyBindableAttribute の値を確認する方法を示しています。The next code example shows how to check the value of the BindableAttribute for MyProperty. まず、このコードはオブジェクトのすべてのプロパティを含む PropertyDescriptorCollection を取得します。First, the code gets a PropertyDescriptorCollection with all the properties for the object. 次に、コードは PropertyDescriptorCollection にインデックスを付けて MyPropertyを取得します。Next, the code indexes into the PropertyDescriptorCollection to get MyProperty. 最後に、このプロパティの属性を返し、attributes 変数に保存します。Finally, the code returns the attributes for this property and saves them in the attributes variable. このコード例では、BindableAttributeの値を確認するための2つの異なる方法を示しています。The code example presents two different ways to check the value of the BindableAttribute. 2番目のコード片では、この例では Equals メソッドを呼び出します。In the second code fragment, the example calls the Equals method. 最後のコードフラグメントでは、この例では、Bindable プロパティを使用して値をチェックします。In the last code fragment, the example uses the Bindable property to check the value.

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

BindableAttributeでクラスをマークした場合は、次のコード例を使用して値を確認します。If you marked a class with the BindableAttribute, use the following code example to check the value.

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 

注釈

この属性は、コントロールの複数のメンバー (通常はプロパティ) に対して指定できます。You can specify this attribute for multiple members, typically properties, on a control.

プロパティが trueに設定された BindableAttribute でマークされている場合は、そのプロパティに対してプロパティ変更通知を生成する必要があります。If a property has been marked with the BindableAttribute set to true, then a property change notification should be raised for that property. これは、Bindable プロパティが Yes場合、双方向のデータバインディングがサポートされることを意味します。This means that if the Bindable property is Yes, then two-way data binding is supported. BindableNo場合でも、プロパティにバインドすることはできますが、バインド先のプロパティの既定のセットには表示されません。これは、プロパティの変更通知が発生する可能性があるためです。If Bindable is No, you can still bind to the property, but it should not be shown in the default set of properties to bind to, because it might or might not raise a property change notification.

注意

BindableAttributetrueに設定してプロパティをマークすると、この属性の値は Yes定数メンバーに設定されます。When you mark a property with BindableAttribute set to true, the value of this attribute is set to the constant member Yes. BindableAttribute でマークされたプロパティが falseに設定されている場合、値は Noです。For a property marked with the BindableAttribute set to false, the value is No. したがって、コード内でこの属性の値を確認するには、属性を BindableAttribute.Yes または BindableAttribute.Noとして指定する必要があります。Therefore, to check the value of this attribute in your code, you must specify the attribute as BindableAttribute.Yes or BindableAttribute.No.

注意事項

この属性は、デザイン時にのみ使用できます。You can use this attribute at design time only. 実行時にどのプロパティにもバインドできません。Nothing prevents you from binding to any property during run time.

詳細については、「属性」を参照してください。For more information, see Attributes.

コンストラクター

BindableAttribute(BindableSupport)

BindableAttribute クラスの新しいインスタンスを BindableSupport の値のいずれかで初期化します。Initializes a new instance of the BindableAttribute class with one of the BindableSupport values.

BindableAttribute(BindableSupport, BindingDirection)

BindableAttribute クラスの新しいインスタンスを初期化します。Initializes a new instance of the BindableAttribute class.

BindableAttribute(Boolean)

ブール値を使用して BindableAttribute クラスの新しいインスタンスを初期化します。Initializes a new instance of the BindableAttribute class with a Boolean value.

BindableAttribute(Boolean, BindingDirection)

BindableAttribute クラスの新しいインスタンスを初期化します。Initializes a new instance of the BindableAttribute class.

フィールド

Default

BindableAttribute の既定値 (No) を指定します。Specifies the default value for the BindableAttribute, which is No. このフィールドは読み取り専用です。This field is read-only.

No

プロパティが通常はバインドに使用されないことを指定します。Specifies that a property is not typically used for binding. このフィールドは読み取り専用です。This field is read-only.

Yes

プロパティが通常、バインドに使用されることを指定します。Specifies that a property is typically used for binding. このフィールドは読み取り専用です。This field is read-only.

プロパティ

Bindable

プロパティが通常、バインドに使用されることを示す値を取得します。Gets a value indicating that a property is typically used for binding.

Direction

このプロパティのデータ バインディングの方向を示す値を取得します。Gets a value indicating the direction or directions of this property's data binding.

TypeId

派生クラスで実装されると、この Attribute の一意の識別子を取得します。When implemented in a derived class, gets a unique identifier for this Attribute.

(継承元 Attribute)

メソッド

Equals(Object)

2 つの BindableAttribute オブジェクトが等しいかどうかを確認します。Determines whether two BindableAttribute objects are equal.

GetHashCode()

BindableAttribute クラスのハッシュ関数として機能します。Serves as a hash function for the BindableAttribute class.

GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
IsDefaultAttribute()

この属性が既定値かどうかを判断します。Determines if this attribute is the default.

Match(Object)

派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(継承元 Attribute)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
ToString()

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)

明示的なインターフェイスの実装

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

一連の名前を対応する一連のディスパッチ識別子に割り当てます。Maps a set of names to a corresponding set of dispatch identifiers.

(継承元 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

オブジェクトの型情報を取得します。この情報はインターフェイスの型情報の取得に使用できます。Retrieves the type information for an object, which can be used to get the type information for an interface.

(継承元 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(継承元 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。Provides access to properties and methods exposed by an object.

(継承元 Attribute)

適用対象

こちらもご覧ください