BindableAttribute クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
メンバーが通常バインディングに使用されるかどうかを指定します。 このクラスは継承できません。
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
- 継承
- 属性
例
次のコード例では、データのバインドに適したプロパティをマークします。
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
次のコード例は、MyProperty
の BindableAttribute の値を確認する方法を示しています。 まず、コードは、オブジェクトのすべてのプロパティを含む PropertyDescriptorCollection を取得します。 次に、コードは MyProperty
を取得するために PropertyDescriptorCollection にインデックスを作成します。 最後に、このコードは、このプロパティの属性を返し、属性変数に保存します。 このコード例では、BindableAttributeの値を確認する 2 つの異なる方法を示します。 2 番目のコード フラグメントでは、この例では Equals メソッドを呼び出します。 最後のコード フラグメントでは、この例では Bindable プロパティを使用して値を確認します。
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でクラスをマークした場合は、次のコード例を使用して値を確認します。
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
注釈
この属性は、コントロールの複数のメンバー (通常はプロパティ) に指定できます。
プロパティが true
に設定された BindableAttribute でマークされている場合は、そのプロパティに対してプロパティ変更通知を生成する必要があります。 つまり、Bindable プロパティが Yesされている場合は、双方向のデータ バインディングがサポートされます。
Bindable が No場合でも、プロパティにバインドできますが、プロパティ変更通知が発生する場合と発生しない場合があるため、バインドするプロパティの既定のセットには表示しないでください。
手記
BindableAttribute を true
に設定してプロパティをマークすると、この属性の値は定数メンバー Yesに設定されます。
BindableAttribute が false
に設定されたプロパティの場合、値は Noです。 したがって、コードでこの属性の値を確認するには、属性を BindableAttribute.Yes または BindableAttribute.Noとして指定する必要があります。
注意
この属性は、デザイン時にのみ使用できます。 実行時にプロパティにバインドすることを妨げるものは何もありません。
詳細については、「属性の」を参照してください。
コンストラクター
BindableAttribute(BindableSupport, BindingDirection) |
BindableAttribute クラスの新しいインスタンスを初期化します。 |
BindableAttribute(BindableSupport) |
BindableSupport 値のいずれかを使用して、BindableAttribute クラスの新しいインスタンスを初期化します。 |
BindableAttribute(Boolean, BindingDirection) |
BindableAttribute クラスの新しいインスタンスを初期化します。 |
BindableAttribute(Boolean) |
ブール値を使用して、BindableAttribute クラスの新しいインスタンスを初期化します。 |
フィールド
Default |
BindableAttributeの既定値 (No) を指定します。 このフィールドは読み取り専用です。 |
No |
プロパティが通常はバインディングに使用されないことを指定します。 このフィールドは読み取り専用です。 |
Yes |
プロパティが通常バインディングに使用されることを指定します。 このフィールドは読み取り専用です。 |
プロパティ
Bindable |
プロパティが通常バインディングに使用されることを示す値を取得します。 |
Direction |
このプロパティのデータ バインディングの方向または方向を示す値を取得します。 |
TypeId |
派生クラスで実装されている場合は、この Attributeの一意の識別子を取得します。 (継承元 Attribute) |
メソッド
Equals(Object) |
2 つの BindableAttribute オブジェクトが等しいかどうかを判断します。 |
GetHashCode() |
BindableAttribute クラスのハッシュ関数として機能します。 |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
IsDefaultAttribute() |
この属性が既定であるかどうかを判断します。 |
Match(Object) |
派生クラスでオーバーライドされた場合、このインスタンスが指定したオブジェクトと等しいかどうかを示す値を返します。 (継承元 Attribute) |
MemberwiseClone() |
現在の Objectの簡易コピーを作成します。 (継承元 Object) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
明示的なインターフェイスの実装
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
名前のセットを、対応するディスパッチ識別子のセットにマップします。 (継承元 Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
インターフェイスの型情報を取得するために使用できるオブジェクトの型情報を取得します。 (継承元 Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
オブジェクトが提供する型情報インターフェイスの数を取得します (0 または 1)。 (継承元 Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
オブジェクトによって公開されるプロパティとメソッドへのアクセスを提供します。 (継承元 Attribute) |
適用対象
こちらもご覧ください
.NET