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 クラスまたはを継承する他のクラスの1つを使用し BindingBase ます。 バインドするオブジェクトとデータソースの性質に関係なく、各バインドは次の図に示すモデルに従います。

基本的なデータ バインディング ダイアグラム

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

  • 各バインドには、通常、バインディングターゲットオブジェクト、ターゲットプロパティ、バインディングソース、および Path 使用するバインディングソースの値への、それぞれ4つのコンポーネントがあります。 たとえば、のコンテンツを TextBox employee オブジェクトの 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 値

定義
コンマ (,) で区切られた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

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

添付プロパティ

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 に設定されているバインディングに限られます。

適用対象

こちらもご覧ください