Binding クラス

定義

バインドの定義に高レベルでアクセスします。バインドは、バインド ターゲット オブジェクト (通常は、WPF 要素) のプロパティと任意のデータ ソース (データベース、XML ファイル、データを格納している任意のオブジェクトなど) とを接続します。

public ref class Binding : System::Windows::Data::BindingBase
public class Binding : System.Windows.Data.BindingBase
type Binding = class
    inherit BindingBase
Public Class Binding
Inherits BindingBase
継承

注釈

Windows Presentation Foundation (WPF) のデータ バインディングによって、アプリケーションでデータの表示とやりとりを行うための、シンプルかつ一貫した方法が提供されます。 データ バインディングを使用すると、2 つの異なるオブジェクトのプロパティの値を同期できます。

バインディングを確立するには、 クラスまたは を Binding 継承 BindingBaseする他のクラスのいずれかを使用します。 バインドするオブジェクトとデータ ソースの性質に関係なく、各バインドは次の図に示すモデルに従います。

基本的なデータ バインディング図

この図は、次の基本的な WPF データ バインディングの概念を示しています。

  • 通常、各バインドには、バインド ターゲット オブジェクト、ターゲット プロパティ、バインド ソース、および Path 使用するバインディング ソース内の値に対する という 4 つのコンポーネントがあります。 たとえば、 の内容を Employee オブジェクトの TextBox Name プロパティにバインドする場合、ターゲット オブジェクトは であり TextBox、ターゲット プロパティは Text プロパティ、使用する値は Name、ソース オブジェクトは Employee オブジェクトです。

  • ターゲット プロパティは、依存関係プロパティである必要があります。 これは、フィールドをバインドできないことも意味します。 オブジェクトの UIElement ほとんどのプロパティは依存関係プロパティであり、読み取り専用プロパティを除くほとんどの依存関係プロパティは、既定でデータ バインディングをサポートします。 (依存関係プロパティを定義できるのは型のみで DependencyObject 、すべての UIElement オブジェクトは から DependencyObject派生します)。

  • 図では指定されていませんが、バインディング ソース オブジェクトがカスタム CLR オブジェクトであることに制限されないことに注意してください。 WPF データ バインディングでは、CLR オブジェクトと XML の形式のデータがサポートされます。 いくつかの例を示すために、バインディング ソースにはUIElement、 、任意のリスト オブジェクト、ADO.NET データまたは Web サービスに関連付けられている CLR オブジェクト、または XML データを含む XmlNode を指定できます。

プロパティを Mode 使用して、データ フローの方向を指定します。 一方向または双方向のバインドでソースの変更を検出するには、ソースで などの INotifyPropertyChanged適切なプロパティ変更通知メカニズムを実装する必要があります。 例については、「 方法: プロパティ変更通知を実装する」を参照してください。 プロパティは UpdateSourceTrigger 、ソース更新のタイミングを指定します。 詳細については、「データ バインディングの概要」の「基本的な データ バインディングの概念」を参照してください。

XAML 属性の使用方法

<object property="{Binding  declaration}"/>  

XAML 値

declaration
コンマ (,) で区切られた 0 個以上の属性代入句。 詳細については、「 バインディング マークアップ拡張機能 」または「 バインド宣言の概要」を参照してください。

コンストラクター

Binding()

Binding クラスの新しいインスタンスを初期化します。

Binding(String)

初期化パスを使用して、Binding クラスの新しいインスタンスを初期化します。

フィールド

DoNothing

アクションを実行しないようにバインド エンジンに指示するために、戻り値として使用されます。

IndexerName

PropertyNamePropertyChangedEventArgs として使用され、インデクサー プロパティが変更されたことを示します。

SourceUpdatedEvent

SourceUpdated 添付イベントを識別します。

TargetUpdatedEvent

TargetUpdated 添付イベントを識別します。

XmlNamespaceManagerProperty

XmlNamespaceManager 添付プロパティを識別します。

プロパティ

AsyncState

非同期データ ディスパッチャーに渡される非透過データを取得または設定します。

BindingGroupName

そのバインディングが属している BindingGroup の名前を取得または設定します。

(継承元 BindingBase)
BindsDirectlyToSource

Path を評価するときに、データ項目を基準にするか、DataSourceProvider オブジェクトを基準にするかを示す値を取得または設定します。

Converter

使用するコンバーターを取得または設定します。

ConverterCulture

コンバーターを評価するカルチャを取得または設定します。

ConverterParameter

Converter に渡すパラメーターを取得または設定します。

Delay

ターゲット上の値が変更された後でバインディング ソースを更新する前に待機する時間 (ミリ秒単位) を取得または設定します。

(継承元 BindingBase)
ElementName

バインド ソース オブジェクトとして使用する要素の名前を取得または設定します。

FallbackValue

バインドが値を返すことができないときに使用する値を取得または設定します。

(継承元 BindingBase)
IsAsync

Binding が値の取得と設定を非同期で行う必要があるかどうかを示す値を取得または設定します。

Mode

バインドのデータ フローの方向を示す値を取得または設定します。

NotifyOnSourceUpdated

バインディング ターゲットからバインディング ソースへ値が転送されたときに、SourceUpdated イベントを発生させるかどうかを示す値を取得または設定します。

NotifyOnTargetUpdated

バインディング ソースからバインディング ターゲットへ値が転送されたときに TargetUpdated イベントを発生させるかどうかを示す値を取得または設定します。

NotifyOnValidationError

バインドされたオブジェクトに対して Error 添付イベントを発生させるかどうかを示す値を取得または設定します。

Path

バインディング ソース プロパティへのパスを取得または設定します。

RelativeSource

バインディング ターゲットの位置に対して相対的な位置を指定することにより、バインディング ソースを取得または設定します。

Source

バインド ソースとして使用されるオブジェクトを取得または設定します。

StringFormat

バインドされている値が文字列として表示される場合に、バインディングの書式を指定する文字列を取得または設定します。

(継承元 BindingBase)
TargetNullValue

ソースの値が null のときにターゲットで使用される値を取得または設定します。

(継承元 BindingBase)
UpdateSourceExceptionFilter

バインディング ソースの値の更新時にバインディング エンジンが検出した例外を処理するためにカスタム ロジックの提供に使用できるハンドラーを取得または設定します。 これは、バインディングに ExceptionValidationRule を関連付けている場合にのみ適用できます。

UpdateSourceTrigger

バインディング ソースの更新のタイミングを決定する値を取得または設定します。

ValidatesOnDataErrors

DataErrorValidationRule を含めるかどうかを示す値を取得または設定します。

ValidatesOnExceptions

ExceptionValidationRule を含めるかどうかを示す値を取得または設定します。

ValidatesOnNotifyDataErrors

NotifyDataErrorValidationRule を含めるかどうかを示す値を取得または設定します。

ValidationRules

ユーザー入力の有効性をチェックする規則のコレクションを取得します。

XPath

使用する XPath XML バインディング ソースの値を返すクエリを取得または設定します。

添付プロパティ

XmlNamespaceManager

XML バインディングで名前空間に対応している XPath クエリを実行するために使用される XmlNamespaceManager を取得または設定します。

メソッド

AddSourceUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

SourceUpdated 添付イベントのハンドラーを追加します。

AddTargetUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

TargetUpdated 添付イベントのハンドラーを追加します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
GetXmlNamespaceManager(DependencyObject)

指定したオブジェクトにアタッチされているバインドによって使用される XML 名前空間マネージャー オブジェクトを返します。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ProvideValue(IServiceProvider)

このバインディングおよび拡張機能の適用先のプロパティに設定されるオブジェクトを返します。

(継承元 BindingBase)
RemoveSourceUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

SourceUpdated 添付イベントのハンドラーを削除します。

RemoveTargetUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

TargetUpdated 添付イベントのハンドラーを削除します。

SetXmlNamespaceManager(DependencyObject, XmlNamespaceManager)

指定した要素にアタッチされているバインドによって使用される名前空間マネージャー オブジェクトを設定します。

ShouldSerializeFallbackValue()

シリアル化プロセスが、このクラスのインスタンスの FallbackValue プロパティの有効値をシリアル化する必要があるかどうかを示す値を返します。

(継承元 BindingBase)
ShouldSerializePath()

Path プロパティを永続化する必要があるかどうかを示します。

ShouldSerializeSource()

Source プロパティを永続化する必要があるかどうかを示します。

ShouldSerializeTargetNullValue()

TargetNullValue プロパティをシリアル化する必要があるかどうかを示す値を返します。

(継承元 BindingBase)
ShouldSerializeValidationRules()

ValidationRules プロパティを永続化する必要があるかどうかを示します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

添付イベント

SourceUpdated

値がバインディング ターゲットからバインディング ソースに転送されるときに発生します。ただし、これは NotifyOnSourceUpdated 値が true に設定されているバインディングに限られます。

TargetUpdated

値がバインディング ソースからバインディング ターゲットに転送されるときに発生します。ただし、これは NotifyOnTargetUpdated 値が true に設定されているバインディングに限られます。

適用対象

こちらもご覧ください