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 データ バインディングの概念を示しています。

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

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

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

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

適用対象

こちらもご覧ください