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);
'Create the source string 
Dim s As String = "Hello"

'Create the binding description 
Dim b As New Binding()
b.Mode = BindingMode.OneTime
b.Source = s

'Attach the binding to the target 
Dim MyText As New TextBlock()
MyText.SetBinding(TextBlock.TextProperty, b)

注釈

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

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

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

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

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

注意

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

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

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

適用対象

こちらもご覧ください