如何在Xamarin窗体中移除网格上的TapGestureRecognizer

本文关键字:网格 TapGestureRecognizer Xamarin 窗体 | 更新日期: 2023-09-27 18:15:56

我有以下Xamarin形式的代码:

switch mode
{
   case 1:
   {
      wordGrid.GestureRecognizers.Add(new TapGestureRecognizer
      {
         NumberOfTapsRequired = 1,
         Command = new Command(() =>
         {
            abc();
         }),
      });   
      break;            
   }
   case 2:
   {
      if(start) 
      {
         Device.StartTimer(TimeSpan.FromSeconds(5), () =>
         {
            Device.BeginInvokeOnMainThread(() =>
            {
               abc();
            });
         return false;
         });
     }
     break;
   }
}

我的应用程序使用tap event (mode==1)或timer (mode==2)来调用abc()。模式值是由我进入设置屏幕并更改它来控制的。

当我从点击设置切换到计时器设置并在计时器设置时返回几次后,abc()每5秒运行一次,但我仍然可以点击网格(然后将执行该点击事件的功能)。

我如何删除这个tap事件(在网格上)当我在定时器设置?

如何在Xamarin窗体中移除网格上的TapGestureRecognizer

将此添加到case 2:

  case 2:
  {
     if(start) 
     {
       wordGrid.GestureRecognizers.Clear();
       ...
     }
     break;
  }