在动态生成的图像上单击事件

时间:2015-10-30 06:25:44

标签: c# wpf

我有动态生成的图像元素,每个元素都有一个唯一的名称。我需要创建一个单击事件,该事件将在单击图像时触发,并向其传递所单击图像的名称。

1 个答案:

答案 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);
    }