我有动态生成的图像元素,每个元素都有一个唯一的名称。我需要创建一个单击事件,该事件将在单击图像时触发,并向其传递所单击图像的名称。
答案 0 :(得分:0)
您甚至无法更改处理程序的签名,并将其他内容传递给事件处理程序。但您可以通过检查事件参数来检测单击的图像:
<StackPanel>
<Image x:Name="Image1" Width="300" Height="200" Source="http://dreamatico.com/data_images/car/car-8.jpg" MouseLeftButtonUp="Image_MouseLeftButtonUp"/>
<Image x:Name="Image2" Width="300" Height="200" Source="http://dreamatico.com/data_images/car/car-1.jpg" MouseLeftButtonUp="Image_MouseLeftButtonUp"/>
</StackPanel>
代码隐藏:
private void Image_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
// writes "Image1" or "Image2", depending on clicked image
Debug.WriteLine(((Image)e.OriginalSource).Name);
}