この記事の英語版を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語
このドキュメントはアーカイブされており、メンテナンスされていません。

BindingExpression クラス

Binding の単一インスタンスに関する情報を含みます。

System.Object
  System.Windows.Expression
    System.Windows.Data.BindingExpressionBase
      System.Windows.Data.BindingExpression

名前空間:  System.Windows.Data
アセンブリ:  PresentationFramework (PresentationFramework.dll 内)

public sealed class BindingExpression : BindingExpressionBase, 
	IWeakEventListener

BindingExpression 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック プロパティDataItemこの BindingExpression が使用するバインディング ソース オブジェクトを取得します。
パブリック プロパティHasError親のバインディングに、失敗した検証規則があるかどうかを示す値を取得します。 (BindingExpressionBase から継承されます。)
パブリック プロパティParentBinding現在の BindingExpressionBinding オブジェクトを返します。
パブリック プロパティParentBindingBaseこの BindingExpressionBase オブジェクトの作成元である BindingBase オブジェクトを取得します。 (BindingExpressionBase から継承されます。)
パブリック プロパティStatusバインディング式のステータスを取得します。 (BindingExpressionBase から継承されます。)
パブリック プロパティValidationError BindingExpressionBase のこのインスタンスが無効になる原因となった ValidationError を取得します。 (BindingExpressionBase から継承されます。)
このページのトップへ

  名前説明
パブリック メソッドEquals(Object)指定した Object が、現在の Object と等しいかどうかを判断します。 (Object から継承されます。)
プロテクト メソッドFinalize オブジェクトがガベージ コレクションにより収集される前に、そのオブジェクトがリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドGetHashCode特定の型のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッドGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
プロテクト メソッドMemberwiseClone 現在の Object の浅いコピーを作成します。 (Object から継承されます。)
パブリック メソッドToString 現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)
パブリック メソッドUpdateSource現在のバインディング ターゲット値を、TwoWay バインディングまたは OneWayToSource バインディングのバインディング ソース プロパティに送信します。 (BindingExpressionBase.UpdateSource() をオーバーライドします。)
パブリック メソッドUpdateTargetバインディング ソース プロパティからバインディング ターゲット プロパティへデータを強制的に転送します。 (BindingExpressionBase.UpdateTarget() をオーバーライドします。)
パブリック メソッドValidateWithoutUpdate ValidationStep プロパティが RawProposedValue または ConvertedProposedValue に設定されている任意の ValidationRule オブジェクトを、関連する Binding に実行します。 このメソッドはソースを更新しません。 (BindingExpressionBase から継承されます。)
このページのトップへ

  名前説明
明示的なインターフェイス実装プライベート メソッドIWeakEventListener.ReceiveWeakEventこのメンバーは、Windows Presentation Foundation (WPF) インフラストラクチャをサポートします。コードから直接使用するためのものではありません。
このページのトップへ

Binding クラスは、バインディングの宣言で使用する高レベルのクラスです。 BindingExpression クラスは、バインディング ソースとバインディング ターゲットとの関連付けを維持する、基になるオブジェクトです。 Binding には、複数の BindingExpression オブジェクトで共有可能な情報がすべて含まれています。 BindingExpression は、共有できないインスタンス式であり、Binding に関するインスタンス情報がすべて含まれています。

次に例を示します。myDataObjectMyData クラスのインスタンス、myBindingBinding ソース オブジェクト、MyData クラスは MyDataProperty という名前の文字列プロパティを含む定義済みクラスです。 この例では、TextBlock のインスタンスである mytext のテキスト コンテンツを、MyDataProperty にバインドします。


//make a new source
  MyData myDataObject = new MyData(DateTime.Now);      
  Binding myBinding = new Binding("MyDataProperty");
  myBinding.Source = myDataObject;
  myText.SetBinding(TextBlock.TextProperty, myBinding);


同じ myBinding オブジェクトを使用して、他のバインディングを作成できます。 たとえば、myBinding オブジェクトを使用して、チェック ボックスのテキスト コンテンツを MyDataProperty にバインドします。 このシナリオには、myBinding オブジェクトを共有する BindingExpression のインスタンスが 2 つあります。

GetBindingExpression メソッドを使用することにより、またはデータ バインドされたオブジェクトの GetBindingExpression メソッドを使用することにより、BindingExpression オブジェクトを取得できます。

This example shows how to obtain the binding object from a data-bound target property.

You can do the following to get the Binding object:


// textBox3 is an instance of a TextBox
// the TextProperty is the data-bound dependency property
Binding myBinding = BindingOperations.GetBinding(textBox3, TextBox.TextProperty);


メモメモ

You must specify the dependency property for the binding you want because it is possible that more than one property of the target object is using data binding.

Alternatively, you can get the BindingExpression and then get the value of the ParentBinding property.

For the complete example see Binding Validation Sample.

メモメモ

If your binding is a MultiBinding, use BindingOperations.GetMultiBinding. If it is a PriorityBinding, use BindingOperations.GetPriorityBinding. If you are uncertain whether the target property is bound using a Binding, a MultiBinding, or a PriorityBinding, you can use BindingOperations.GetBindingBase.

.NET Framework

サポート対象: 4、3.5、3.0

.NET Framework Client Profile

サポート対象: 4、3.5 SP1

Windows 7, Windows Vista SP1 以降, Windows XP SP3, Windows Server 2008 (Server Core はサポート対象外), Windows Server 2008 R2 (SP1 以降で Server Core をサポート), Windows Server 2003 SP2

.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。 サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。 インスタンス メンバーの場合は、スレッド セーフであるとは限りません。
表示: