方法 : コードでバインディングを作成する
更新 : 2007 年 11 月
コードで Binding を作成して設定する方法を次の例に示します。
使用例
FrameworkElement クラスと FrameworkContentElement クラスはどちらも SetBinding メソッドを公開しています。どちらかのクラスを継承する要素をバインドする場合は、次の例のように、SetBinding メソッドを直接呼び出すことができます。この例では、myDataObject は MyData クラスのインスタンス、myBinding は Binding ソース オブジェクト、MyData クラスは MyDataProperty という名前の文字列プロパティを含む定義済みクラスです。TextBlock のインスタンスである mytext のテキスト コンテンツを MyDataProperty にバインドする方法を次の例に示します。
Dim data1 As New MyData(DateTime.Now)
Dim binding1 As New Binding("MyDataProperty")
binding1.Source = data1
Me.myText.SetBinding(TextBlock.TextProperty, binding1)
//make a new source
MyData myDataObject = new MyData(DateTime.Now);
Binding myBinding = new Binding("MyDataProperty");
myBinding.Source = myDataObject;
myText.SetBinding(TextBlock.TextProperty, myBinding);
コード サンプル全体については、「コードでのバインディングの作成のサンプル」を参照してください。
代わりに、BindingOperations クラスの SetBinding メソッドを使用できます。次の例では、myNewBindDef はバインディングを記述する Binding オブジェクトです。バインディング ターゲットは、TextBlock クラスのインスタンスである myDateText です。
// myDatetext is a TextBlock object that is the binding target object
BindingOperations.SetBinding(myDateText, TextBlock.TextProperty, myNewBindDef);
BindingOperations.SetBinding(myDateText, TextBlock.ForegroundProperty, myNewBindDef);