次の方法で共有


FrameworkElement.SetBinding(DependencyProperty, BindingBase) メソッド

定義

指定されたバインド オブジェクトを使用して、 FrameworkElement にバインドをアタッチします。

void SetBinding(DependencyProperty const& dp, BindingBase const& binding);
public void SetBinding(DependencyProperty dp, BindingBase binding);
function setBinding(dp, binding)
Public Sub SetBinding (dp As DependencyProperty, binding As BindingBase)

パラメーター

dp
DependencyProperty

データ バインドされているプロパティの依存関係プロパティ識別子。

binding
BindingBase

プロパティに使用するバインディング。

この例では、 を呼び出 SetBindingして、オブジェクトの依存関係プロパティへのバインドを確立します。

// Create the source string.
string s = "Hello";

// Create the binding description.
Binding b = new Binding();
b.Mode = BindingMode.OneTime;
b.Source = s;

// Attach the binding to the target.
TextBlock MyText = new TextBlock();
MyText.SetBinding(TextBlock.TextProperty, b);

注釈

このメソッドは、 BindingOperations.SetBinding を呼び出し、現在のインスタンスを パラメーターとして渡す便利な target メソッドです。

パラメーターの型は互換性上のbinding理由から BindingBase ですが、Windows ランタイムでは常に Binding インスタンスを渡します。 Binding は、BindingBase から派生しています。

パラメーターは dp 依存関係プロパティ識別子を受け取ります。 依存関係プロパティと DependencyProperty 値が識別子として機能する方法の詳細については、「 依存関係プロパティの概要」を参照してください。

カスタム依存関係プロパティまたはカスタム添付プロパティにバインドできます。パラメーターとしてdp渡す識別子は、Windows ランタイム定義されたプロパティである必要はありません。

コードから作成されたバインドで動作するデータ コンテキストを使用できるかどうかは、オブジェクトの有効期間に関する考慮事項によって異なります。 たとえば、XAML から設定された DataContext 値は、XAML が解析されるまで使用できません。 その場合は、 Loaded ハンドラーを使用して、コードからバインドを追加できます。

Note

メソッドを SetBinding 呼び出し、新しい Binding オブジェクトを渡しても、必ずしも既存のバインドが削除されるとは限りません。 代わりに、まず DependencyObject.ClearValue メソッドを呼び出してから を呼び出す SetBinding必要があります。

添付プロパティへのバインド

データ バインディングは、ターゲット オブジェクトがサポートする添付プロパティに配置できます。 技術的には DependencyObject では、可能なすべての添付プロパティがサポートされていますが、通常は、そのオブジェクトまたはシナリオに関連する添付プロパティにバインドのみを設定します。 たとえば、ターゲット要素にその情報を使用する Grid 親が含まれていると予想される場合にのみGrid.Row にバインドを設定します。 添付プロパティの所有者クラスに存在する依存関係プロパティ識別子として dp パラメーターを指定します ( Grid.Row たとえば、その識別子は Grid.RowProperty です)。 添付プロパティであるため、ターゲットでその識別子が見つかりません。 添付プロパティの詳細については、「添付プロパティの 概要」を参照してください。

適用対象

こちらもご覧ください