シンプルなバインディングAboutこの項目では最もシンプルなバインディングのパターンを示します。後に続く項目はこの項目の内容を引き継ぐので参照順には注意してください。バインディングの用意バインディングするデータはシンプルなものを用意しました。この項目ではstring型とbool型のプロパティ、2つを持ったクラス"SimpleClass"を利用します。}値をバインディングする対象はXAMLの方に用意しました。string型の値をバインディングするTextBoxと、bool型の値をバインディングするCheckBoxの2つです。出力してバインディングの結果を確認するためのButtonも用意してあります。こちらの2つに関してはコード側からnewキーワードによってインスタンスを生成しても問題はありません。ソースコードの冗長性と、サンプルを少しでも実用的な例に近づけるための措置です。</StackPanel></Window>ソースコードからのバインディングバインディングはコンストラクタ内で行ってしまいます。バインディングするデータSimpleClassのインスタンスを生成し、それぞれのプロパティに適当な値を与えておきます。次に本題であるバインディングを行います。バインディングにはBindingクラスを利用します。コンストラクタによってインスタンスを生成するときに、引数としてバインディングするプロパティ名を与えます。ここでは"SimpleClass"クラスのプロパティ"StringProperty"と"BoolProperty"となります。バインディングには、バインディングする値を提供する情報源が必要です。記述方法は自由ですが、ここではインスタンスの生成と同じタイミングで行っています。BindingクラスのプロパティSourceにバインディングしたいデータを設定します。ここでは"SimpleClass"のインスタンスです。}バインディングする対象に、設定を終了したBindingインスタンスを設定すれば手続きは完了です。対象のインスタンスのSetBindingメソッドからBindingデータを設定します。引数には、対象となるプロパティと、設定を終えたBindingクラスのインスタンスを与えます。言葉で説明すると少々不明瞭ですが、ソースコードを見れば状況は把握できるかと思います。ここではそれぞれ、TextBoxのTextプロパティと、CheckBoxのIsCheckedプロパティにバインディングを適用します。することでSimpleClassのプロパティの値が、TextBoxとCheckBoxのそれぞれのプロパティにバインディングされます。実行と確認バインディングされているかどうかは実行すればすぐにわかります。TextBoxやCheckBoxに値を設定していないのにもかかわらず、SimpleClassのプロパティに設定した値が適切に与えられていればバインディングは成功です。ここでバインディングしたデータをTextBoxとCheckBox側から操作できているか確認するために、バインディングしたデータをコンソールに出力します。Buttonを押したタイミングで出力するとして、そのイベントハンドラのソースコードは次のようになっています。}サンプルではStringPropertyに文字列"Hello"を与えていましたが、TextBoxに表示された"Hello"を適当な文字列に書き換えて、Buttonを押して値を出力します。出力されたStringPropertyの値が、インターフェース上から書き換えられた文字列になっていることが確認できます。これでこの項目の解説は終了です。試しにint型のプロパティやそれに対応するインターフェースを追加して確認してみるなど、すると良いと思います。著作権Administrator。