ikarosの作業場

飛行機の設計もできる系のCshaper。「なおこの記事は個人的見解であり、所属する組織の意見とは一切関係がありません」と書かざるを得なくなった悲しみを知れ

Tips:csファイル(プログラム)側から動的にデータバインディングを設定する

ちょっとしたことに関して解決策っぽいのを上げていく企画っぽいの第二弾。
みなさまのプログラミングでの背中のかゆいところへの孫の手になれればと思います。

さて今回はプログラム側からデータバインディングを設定するお話

とはいうけどプログラム側からデータバインディング使いたいってどうゆう状況だよ!っていうと

 ・動的にコントロールを追加した時

とかに使えると思います。たまにGUIとかを与えられたデータの値に基づいて動的に作るときに役に立つかなーと思います。

ではコード。
今回の目標は string型の変数 text を動的に生成したTextBlock tb のTextプロパティにバインディング

var tb = new TextBlock();
string text = "hogehoge";

//cs上でバインディングしたいときはBindingクラスを使う
var bind = new Binding();

//バインディング元を設定
bind.Path = new PropertyPath(text);
//バインディング先を設定
tb.SetBinding(TextBox.TextProperty, bind);

以上!

当サイトのソースコード及びその他の情報は個人・商用問わず自由に使っていただいてかかまいませんが、当サイトの情報が元で発生したいかなる結果・不利益については責任を負いかねますのでご了承ください