2016-08-01 63 views

回答

0

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

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

谢谢,这没有窍门! – IWillByte

+1

使用http://stackoverflow.com/questions/6866347/lambda-anonymous-function-as-a-parameter,我能够将函数作为参数传递给Tapped方法。 – IWillByte

+0

如果您有改进,请发布您自己的答案,这对他人也有帮助。 –

0

感谢Rohit's answer,我能创造我修改,以匿名函数作为参数的自定义控件。这里是代码:

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); 
    } 
} 
相关问题