Binding クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
バインドの定義に高レベルでアクセスします。バインドは、バインド ターゲット オブジェクト (通常は、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 つの異なるオブジェクトのプロパティの値を同期できます。
バインディングを確立するには、クラスまたは継承BindingBaseするBinding他のクラスのいずれかを使用します。 バインドするオブジェクトとデータ ソースの性質に関係なく、各バインドは次の図に示すモデルに従います。
図は、次の基本的な WPF データ バインディングの概念を示しています。
通常、各バインディングには、バインド ターゲット オブジェクト、ターゲット プロパティ、バインディング ソース、使用 Path するバインディング ソース内の値の 4 つのコンポーネントがあります。 たとえば、A の内容を 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 |
PropertyName の PropertyChangedEventArgs として使用され、インデクサー プロパティが変更されたことを示します。 |
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 |
ソースの値が |
UpdateSourceExceptionFilter |
バインディング ソースの値の更新時にバインディング エンジンが検出した例外を処理するためにカスタム ロジックの提供に使用できるハンドラーを取得または設定します。 これは、バインディングに ExceptionValidationRule を関連付けている場合にのみ適用できます。 |
UpdateSourceTrigger |
バインディング ソースの更新のタイミングを決定する値を取得または設定します。 |
ValidatesOnDataErrors |
DataErrorValidationRule を含めるかどうかを示す値を取得または設定します。 |
ValidatesOnExceptions |
ExceptionValidationRule を含めるかどうかを示す値を取得または設定します。 |
ValidatesOnNotifyDataErrors |
NotifyDataErrorValidationRule を含めるかどうかを示す値を取得または設定します。 |
ValidationRules |
ユーザー入力の有効性をチェックする規則のコレクションを取得します。 |
XPath |
使用する |
添付プロパティ
XmlNamespaceManager |
XML バインディングで名前空間に対応している |
メソッド
添付イベント
SourceUpdated |
値がバインディング ターゲットからバインディング ソースに転送されるときに発生します。ただし、これは NotifyOnSourceUpdated 値が |
TargetUpdated |
値がバインディング ソースからバインディング ターゲットに転送されるときに発生します。ただし、これは NotifyOnTargetUpdated 値が |