Xamarin.Forms - 如何使用可点击图像制作自定义视图?
Posted
技术标签:
【中文标题】Xamarin.Forms - 如何使用可点击图像制作自定义视图?【英文标题】:Xamarin.Forms - How do I make a custom view with a clickable image? 【发布时间】:2016-08-01 20:57:42 【问题描述】:我正在制作一个包含许多需要处理点击事件的图像网格的应用程序。我可以用这个制作一个可点击的图像,
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 模板的东西?
【问题讨论】:
【参考方案1】:您可以在共享项目本身中创建一个自定义控件,该控件继承自图像并支持单击并在整个应用程序中使用它。
ClickableImage : Image
public ClickableImage()
Tapped += (sender, e) =>
System.Diagnostics.Debug.WriteLine("Image clicked!");
;
【讨论】:
使用***.com/questions/6866347/…,我能够将函数作为参数传递给 Tapped 方法。 如果您有改进,请发布您自己的答案,这对他人也有帮助。 在那里,添加了我更新的代码作为答案。抱歉拖了这么久【参考方案2】:感谢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);
【讨论】:
以上是关于Xamarin.Forms - 如何使用可点击图像制作自定义视图?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Xamarin Forms 为 iOS 项目制作可点击的滑块?
如何在 Xamarin.Forms 中使用 Tap Gesture 调用另一个页面?