FrameworkElement.SetBinding(DependencyProperty, BindingBase) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定されたバインド オブジェクトを使用して、 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)
パラメーター
データ バインドされているプロパティの依存関係プロパティ識別子。
- 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 です)。 添付プロパティであるため、ターゲットでその識別子が見つかりません。 添付プロパティの詳細については、「添付プロパティの 概要」を参照してください。