Feb. CTPで下の様なコードを書き、WPFのコントロール表示内容をを初期化したいのだが、上手くいかない。
いったいどのタイミングで初期化すればいいだろう。
ちなみにDec. CTPはこういうコードを書いても動いたんだよねぇ。
1: public partial class Window1 : Window
2: {
3:
4: Person person = new Person("Tom", 9);
5:
6: public Window1() {
7: InitializeComponent();
8: //ここで、設定してもキャンセルされてしまう?
9: this.nameTextBox.Text = person.Name;
10: this.ageTextBox.Text = person.Age.ToString();
11:
12: }//ここを抜けるタイミングで、
13: //void System.Windows.Markup.IComponentConnector.Connect
14: //が実行されコントロールがふたたび初期化される
15:
16: void birthdayButton_Click(object sender, RoutedEventArgs e) {
17: ++person.Age;
18: this.ageTextBox.Text = person.Age.ToString();
19: MessageBox.Show(string.Format("Happy Birthday, {0}, age {1}!",
20: person.Name,
21: person.Age),
22: "Birthday!");
23: }
24:
25: }
追記: (2006.03.10 23:00)
なんというか、Ciderがビルド時に吐き出すコードが謎過ぎ。せめて、WindowsFormのデザイナぐらい見通しのいいコードを吐き出してくれないだろうか。
GUIからイベントの設定もできないくせに、自分で下みたいなコードビハインド用のイベント追加のコードすら書かせてもらえないというのは何とかならないのか。
1: this.ageButton.Click += this.ageButton_Click;
2: ...
3: void ageButton_Click(object sendr, RoutedEventArgs e) {
4: ....
5: }
6:
7: }
8:
コメント