c# - 如何删除 Xamarin Forms 中网格上的 TapGestureRecognizer?

标签 c# timer xamarin.forms

我在 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;
   }
}

我的应用程序使用点击事件(模式==1)或计时器(模式==2)来调用 abc()。模式值由我进入设置屏幕并更改它来控制。

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

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

最佳答案

在情况 2 中添加:

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

关于c# - 如何删除 Xamarin Forms 中网格上的 TapGestureRecognizer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40357912/

相关文章:

c# - 引用所需的重载泛型方法

javascript - timer._repeat 不是函数?

xaml - 使用 StyleClass 与 Style 属性的 Xamarin 表单样式

c# - 在按钮上向父项添加子项单击 Xamarin.forms

c# - 将 DbContext 注入(inject)服务层

c# - 创建一个可以通过插件/模块扩展的 Web 应用程序

python - 如何设置定时器和清除定时器?

javascript - 重置按钮并启动倒数计时器

android - 如何将SKCanvasView与同一页面中的其他 View 结合起来?

c# - 在弹出窗口中获取选定的行以进行编辑和更新