キャンバス コントロールにいくつかの画像またはコントロールを動的に追加し、コントロールごとにジェスチャ イベントを取得したいと考えています。どうすれば最善のアプローチになるかを知ることができますか。
void AddText()
{
TextBlock name = new TextBlock();
name.Text = "This is text " + Count;
Random rnd1 = new Random();
name.Width = rnd1.Next(0, 400);
name.Height = rnd1.Next(0, 800);
var gl = GestureService.GetGestureListener(name);
gl.Tap += new EventHandler<GestureEventArgs>(GestureListener_Tap);
gl.Hold += new EventHandler<GestureEventArgs>(GestureListener_Hold);
canvas1.Children.Add(name);
}
private void GestureListener_Tap(object sender, GestureEventArgs e)
{
MessageBox.Show("I Am Tapped");
}
private void GestureListener_Hold(object sender, GestureEventArgs e)
{
MessageBox.Show("I Am Holded");
}
しかし、このようにして、幅と高さにランダム関数を使用しても、すべてのコントロールが同じ場所に配置されます。この方法で作成したテキストブロックをタップすると、その他のことが起こります。すべてのジェスチャ イベントを呼び出します。