1
我正在制作一个应用程序,其中包含许多需要处理点击事件的图片。我可以用此单击图像点击,但我需要有> 20个可点击的图像。有没有办法创建一个像Angular2模板的东西?Xamarin.Forms - 如何使用可点击的图片制作自定义视图?
我正在制作一个应用程序,其中包含许多需要处理点击事件的图片。我可以用此单击图像点击,但我需要有> 20个可点击的图像。有没有办法创建一个像Angular2模板的东西?Xamarin.Forms - 如何使用可点击的图片制作自定义视图?
您可以在共享项目本身中创建一个自定义控件,该控件从图像继承,并支持单击并在整个应用程序中使用它。
ClickableImage : Image
{
public ClickableImage()
{
Tapped += (sender, e) =>
{
System.Diagnostics.Debug.WriteLine("Image clicked!");
};
}
}
感谢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);
}
}
谢谢,这没有窍门! – IWillByte
使用http://stackoverflow.com/questions/6866347/lambda-anonymous-function-as-a-parameter,我能够将函数作为参数传递给Tapped方法。 – IWillByte
如果您有改进,请发布您自己的答案,这对他人也有帮助。 –