C# Xamarin在自定义渲染器中添加单击事件

C# Xamarin在自定义渲染器中添加单击事件,c#,xamarin,xamarin.forms,xamarin.android,xamarin.ios,C#,Xamarin,Xamarin.forms,Xamarin.android,Xamarin.ios,我正在使用以下拖放代码: 这非常有效,但现在我不仅希望能够拖放图像,还希望能够执行单击操作。在代码的这一部分中,该函数可能需要在自定义渲染器中完成: public override bool OnTouchEvent(MotionEvent e) { float x = e.RawX; float y = e.RawY; var dragView = Element as DraggableView.DraggableView; switch (e.Action)

我正在使用以下拖放代码:

这非常有效,但现在我不仅希望能够拖放图像,还希望能够执行单击操作。在代码的这一部分中,该函数可能需要在自定义渲染器中完成:

public override bool OnTouchEvent(MotionEvent e)
{
    float x = e.RawX;
    float y = e.RawY;
    var dragView = Element as DraggableView.DraggableView;
    switch (e.Action)
    {
        case MotionEventActions.Down:
            if (dragView.DragMode == DragMode.Touch)
            {
                if (!touchedDown)
                {
                    if (firstTime)
                    {
                        originalX = GetX();
                        originalY = GetY();
                        firstTime = false;
                    }
                    dragView.DragStarted();
                }

                touchedDown = true;
            }
            dX = x - this.GetX();
            dY = y - this.GetY();
            break;
        case MotionEventActions.Move:
            if (touchedDown)
            {
                if (dragView.DragDirection == DragDirectionType.All || dragView.DragDirection == DragDirectionType.Horizontal)
                {
                    SetX(x - dX);
                }

                if (dragView.DragDirection == DragDirectionType.All || dragView.DragDirection == DragDirectionType.Vertical)
                {
                    SetY(y - dY);
                }

            }
            break;
        case MotionEventActions.Up:
            touchedDown = false;
            dragView.DragEnded();
            break;
        case MotionEventActions.Cancel:
            touchedDown = false;
            break;
    }
    return base.OnTouchEvent(e);
}
但我不知道如何在不移动图像的情况下添加单击功能。 我只是想在点击图像时弹出一个窗口,当我按住它时仍然可以拖放。
有人能帮我吗?

这里有很多很好的事情需要做,才能让它以一种真正好的方式工作,如果你希望这样,那么问题就需要解决了,因为这里不是其他人为你编写代码的网站

假设你对此没意见,我会给你一些基本的想法


关键是记录
touchedDown=true的
DateTime
并将其与
touchedDown=false的
DateTime
进行比较如果低于某个阈值,则称其为“单击”。如果您只是这样做,将会有一些工件,但您需要解决它们。

谢谢,我并不是真的在寻找代码,而是像这样的想法。。。。你真的很有帮助!