Xamarin.Forms-如何使用可点击的图像创建自定义视图

本文关键字:图像 创建 自定义 视图 Forms- 何使用 Xamarin | 更新日期: 2023-09-27 17:59:41

我正在制作一个应用程序,它有一个由许多图像组成的网格,需要处理点击事件。我可以用这个使单个图像可以点击

        Image clickableImage = new Image();
        clickableImage.Source = ImageSource.FromFile("image.png");
        imageTap.Tapped += (object sender, EventArgs e) =>
        {
            System.Diagnostics.Debug.WriteLine("Image clicked!");
        };
        clickableImage.GestureRecognizers.Add(imageTap);

但我需要20张以上可点击的图片。有没有一种方法可以创建类似Angular2模板的东西?

Xamarin.Forms-如何使用可点击的图像创建自定义视图

您可以在共享项目本身中创建一个自定义控件,该控件继承自图像,并支持在整个应用程序中单击并使用它。

ClickableImage : Image 
{
      public ClickableImage()
      {
           Tapped += (sender, e) => 
           {
                 System.Diagnostics.Debug.WriteLine("Image clicked!");
           };
      }
}

多亏了Rohit的回答,我能够创建一个自定义控件,并将其修改为使用匿名函数作为参数。这是代码:

class ClickableImage : Image
{
    private TapGestureRecognizer tapGestureRecognizer = new TapGestureRecognizer();
    public ClickableImage(Action action)
    {
        tapGestureRecognizer.Tapped += (s, e) => 
        {
           System.Diagnostics.Debug.WriteLine("Image Clicked w/ Lambda");
           action();
        };
        GestureRecognizers.Add(tapGestureRecognizer);
    }
}