WinFx Dec. CTPに付属するCiderで、XAMLコントロールにイベントを追加するには手作業でそれを行う必要があるので、それを説明する。
Ciderは下図にあるようにGUIデザイナ、XAML(XML)エディタ、コードエディタの3種類のエディタを切り替えながら作業を行う。
現行のCiderにはGUIデザイナからコントロールに対するマウスClick等のイベントプロシージャを追加することができないので、XAML上で、コントロールを示すXAMLタグに属性としてイベントに関する記述を行い、その内容に会わせプログラミングコードの追加を行う。
GUIデザイナ上で、コントロールを配置した後、XAMLエディタに移動し、XAMLタグに属性として、イベントに関する記述を追加する。GUIデザイナが自動的に追加する、位置やサイズ等の属性の後、ようは一番最後にイベントの属性を追加する。VS2005上ではインテリセンスが作用する。
001 <Button Name="button1" Click="Button1_Click">Button</Button>
上ではClickがButtonコントロールに対するマウスクリックイベントを示す属性で、その値の”Button1_Click”が呼び出されるイベントプロシージャになる。ちなみにこのイベントプロシージャー名は自動的に追加されるわけではない。(わかりやすくするため、WinformのGUIデザイナが追加するプロシージャー名に会わせておくと良いだろう)
次には画面下のボタンからコードエディタに移動し、XAMLの記述に会わせイベントプロシージャを以下のように記述する。
001 private void Button1_Click(object sender, EventArgs e) { 002 MessageBox.Show("Hello WPF World!!"); 003 } 004
上の例はButtonコントロールのClickイベントのイベントプロシージャ。
めんどくさ。GUIデザイナというか、プロパティウインドウからイベント追加したいね。
サンプル
コメント