小さな星がほらひとつ

読者です 読者をやめる 読者になる 読者になる

動的にコントロールとイベントを結びつける

スポンサーリンク

最近wpf開発をしてみている。研究そっちのけでw
まぁC#をやってみたいと思ったのですが、結構難しい、いや簡単なんだけど知れば知るほど難しい(笑)

ということで備忘録。
プログラム中に動的にコントロールを生成してイベントを発生させて、イベント中でどうやってターゲットのコントロールを見つければ良いのだろうと思っていました。

答えは簡単、イベントハンドラの第2引数のSourceプロパティがそれに当たるので、それをキャスト変換する。


・・・・・
TextBox box = new TextBox(); // 動的に生成されたコントロール
box.MouseEnter += new MouseEventHandler(box_MouseEnter);
・・・

void box_MouseEnter(object sender, MouseEventArgs e)
{
TextBox box = (TextBox)e.Source; // TextBoxに変換
box.Background = Brushes.Blue; // プロパティ設定
}

参考サイトです
XAML とプログラムコード(WPF) - クラスライブラリ | ++C++; // 未確認飛行 C

あー、でも中身がぜんぜん分からないやー。