繁体   English   中英

Xamarin.Forms - 如何使用可点击图像制作自定义视图?

[英]Xamarin.Forms - How do I make a custom view with a clickable image?

我正在制作一个应用程序,其中包含许多需要处理点击事件的图像网格。 我能用这个点击一个图像,

        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模板的东西?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM