2012-05-10 4 views
3

多くのテキストブロックがプログラムによって生成されています。それらにonclick関数をバインドしたいと思います... xamlコードにtextblockを書き込むのは簡単ですが、textblockがプログラムによって生成された場合はどうすればできますか?私がここまで持って何プログラムで生成された要素のOnclick

:正確なC#バージョンを提供することができるように

TextBlock tb1 = new TextBlock(); 
tb1.KeyDown += new System.Windows.Input.KeyEventHandler(MyTextBlock_KeyDown); 
... 
private void MyTextBlock_KeyDown(object sender, GestureEventArgs e) { 
    MessageBox.Show("hello world"); 
} 
+0

あなたはあなたのXAMLを提供することができますか? –

答えて

3
public MainPage() 
{ 
    InitializeComponent(); 

    TextBlock block = new TextBlock(); 
    block.Text = "Tap me"; 
    block.Tap += new EventHandler<GestureEventArgs>(block_Tap); 

    TitlePanel.Children.Add(block); 
} 

void block_Tap(object sender, GestureEventArgs e) 
{ 
    //Do something 
} 

これはうまく動作します...

+0

エラーが発生しました: 'MyTextBlock_KeyDown'のオーバーロードがdelegate 'System.Windows.Input.KeyEventHandler'と一致しません –

+0

イベントハンドラを作成しましたか?あなたの特定のコードで動作するように、私が投稿したサンプルコードを適合させる必要があります。 – Dante

+0

私のコードを確認してください、いくつか編集しました...ありがとうございます。 –

関連する問題