09/03/06 22:55:40
>>401
デバッグ用途で一時的に作ったようなボタンなんかだと、
それ用のイベントハンドラも短くなりがちになる。そこで、
Loadedイベントハンドラだけはxamlエディタで定義&割り当て
をしてもらって、そのLoadedイベントハンドラの中で
Button1.Click+=delegate{MessageBox.Show("Clicked!");};
って書いた方がゴミメソッドが増えなくて見やすいんだよね。
まあでも、書いたとおり、推奨はできない。
ただ、ある程度複雑なプログラムを書くと、デザイナもxamlも
あまり頼りにならなくて、コードでGUIをアレコレする必要が
出てくる場面は頻繁にある。特に動的な処理が必要な場合。
例えば、StackPanel1の子にButton1がなっているとして、
Button1のClickイベントハンドラで
Button1.IsEnabled = false;
Button Button2 = new Button() { Content = "Click Me!" };
Button2.Click += delegate {
Button1.IsEnabled = true;
StackPanel1.Children.Remove(Button2);
};
StackPanel1.Children.Add(Button2);
こんなの。これだと、Button2のVisiblityなりIsEnabledなり
をいじるイベントハンドラを書く方が自然なのでちょっと
人為的かな。