如何将额外参数传递给Tapped Event?

时间:2015-07-03 12:09:07

标签: c# windows-phone-8.1

我在Windows phone app 8.1中以编程方式创建了10个TextBlock 现在我想将Tapped事件添加到每个TextBlock并向其传递额外参数,以便我可以找到被点击的TextBlock

我使用此代码创建带有Tapped事件的TextBlock:

for (int i=1;i<11;i++)
{
    TextBlock txtName = new TextBlock();
    txtName.Tapped += TxtName_Tapped;
}

private void TxtName_Tapped(object sender, TappedRoutedEventArgs e)
{
    // Something
}

我如何传递额外的参数?

3 个答案:

答案 0 :(得分:2)

正如@Ric建议你可以随时这样做:

   if(inputBitmap.getHeight() < imageheight || inputBitmap.getWidth() < imageWidth) {
Bitmap scaledBitmap = Bitmap.createScaledBitmap(inputBitmap,
                            (imageWidth), (imageheight), true);
                    inputBitmap.recycle();
                    inputBitmap = scaledBitmap;
  }

答案 1 :(得分:0)

您可以使用sender参数来识别TextBlock,而不是发送额外的参数。

for (int i=1;i<11;i++)
{
    TextBlock txtName = new TextBlock();
    txtName.Name = i.ToString();
    txtName.Tapped += TxtName_Tapped;
}

private void TxtName_Tapped(object sender, TappedRoutedEventArgs e)
{
    TextBlock textBlock = sender as TextBlock;
    switch(textBlock.Name)
    {    
         // list possible cases
         case "1":
         {
             // do something 
         }
    }
}

也许你甚至不需要切换声明,因为我不知道确切的要求。

答案 2 :(得分:0)

在我看来,非常简单的解决方案是使用<div class="modal-body"> <div class="container-fluid" id="cincopa"> <div id="ze_galleria"> //gallery stuff </div> </div> </div> 属性:

Tag

for (int i=1;i<11;i++)
{
    TextBlock txtName = new TextBlock();
    txtName.Tag = i;
    txtName.Tapped += TxtName_Tapped;
}