如何确定Xamarin Forms中水龙头的位置?

Bil*_*llF 6 c# gestures xamarin.ios xamarin.forms

在Xamarin Forms中,我如何找出水龙头的位置(例如在图像中)?我的代码是:

var tapGestureRecognizer = new TapGestureRecognizer();
tapGestureRecognizer.Tapped += OnTapGestureRecognizerTapped;
image.GestureRecognizers.Add(tapGestureRecognizer);
...
...
void OnTapGestureRecognizerTapped(object sender, EventArgs args)
{ ... }
Run Code Online (Sandbox Code Playgroud)

args.Parameter返回null(对于iOS)。我没有找到有关Parameter的任何文档。在处理程序中,我尝试将EventArgs更改为TappedEventArgs,但随后未编译。还尝试将args强制转换为TappedEventArgs,但这没有任何改变。

Nys*_*Nys 5

经过几天的寻找最简单的解决方案,我终于找到了它(实际上很遗憾没有构建方法来获取水龙头坐标......)。无论如何,这就是您要寻找的内容: https://learn.microsoft.com/en-gb/xamarin/xamarin-forms/app-fundamentals/effects/touch-tracking

示例如下:

https://learn.microsoft.com/en-us/samples/xamarin/xamarin-forms-samples/effects-touchtrackingeffect/

我已经在我的应用程序中尝试过了,您所需要的只是

  • TouchActionEventArgs.cs

  • TouchActionEventHandler.cs

  • TouchActionType.cs

  • TouchEffect.cs

添加到项目(仅重命名命名空间),然后添加TouchEffect.cs到该.Android部分(再次重命名所有名称以与应用程序的名称相对应)。

就这样,编码愉快;)


Pav*_*lov 3

在撰写此答案时,如果没有特定于平台的代码,似乎无法在 XamarinForms 中接收点击的坐标。有第三方库(此处提到)提供此信息。