如果事件未完成,取消重复调用

本文关键字:调用 取消 事件 未完成 如果 | 更新日期: 2023-09-27 18:18:44

我有一个包含元素的列表,每个元素都有自己的swipeEvent。在这个元素中,它为列表创建了一个新的对象。如下所示

 public Object inserPages(BoxView boxview, List<T> list)
 {
     count++;
     Object obj = new Object();
     Object obj2 = new Object();
     obj.Swiped += (s, e) =>
     {
          obj.TranslateTo(-1200, 0, 500, null);
          obj2.TranslateTo(-1200, 0, 500, null);
          list.Insert(0, boxview);
          list.Insert(1, inserPages(boxview, list));
     };
     return obj;
}

现在我需要做一些方法来禁用所有其他对象滑动事件,而调用的事件仍在运行

有人知道怎么做吗?

如果事件未完成,取消重复调用

创建bool标志:

private bool isSwipping;
public Object inserPages(BoxView boxview, List<T> list)
{   
    // ...
    obj.Swiped += (s, e) =>
    {
        if (isSwipping)
            return;
        isSwipping = true;
        // do something
        isSwipping = false;
    };
    // ...
}