Xamarin.ios MvvmCross-binding iOS手势

Xamarin.ios MvvmCross-binding iOS手势,xamarin.ios,mvvmcross,Xamarin.ios,Mvvmcross,我正在寻找一种方法,如何将ios手势(如UILongPressGestureRecognitor)绑定到MvvmCross中的ICommand或MvxCommand,谢谢 PS:我找到了一个例子,但我不知道怎么做。根据您找到的例子和当前的MVVM跨源代码,我做了以下操作 public static class MvxBehaviourExtensions { public static MvxLongPressGestureRecognizerBehaviour LongPress(th

我正在寻找一种方法,如何将ios手势(如UILongPressGestureRecognitor)绑定到MvvmCross中的ICommand或MvxCommand,谢谢


PS:我找到了一个例子,但我不知道怎么做。

根据您找到的例子和当前的MVVM跨源代码,我做了以下操作

public static class MvxBehaviourExtensions
{
    public static MvxLongPressGestureRecognizerBehaviour LongPress(this UIView view)
    {
        var toReturn = new MvxLongPressGestureRecognizerBehaviour(view);
        return toReturn;
    }
}


你不明白这个例子的哪一点?如果用
LongPress
替换
Tap
,那么什么不起作用?是否存在编译错误?或者运行时异常?我添加了类LongPressBehavior和BehaviorExtensions,但是当我创建label.LongPress()时;它不认识它。
public class MvxLongPressGestureRecognizerBehaviour
    : MvxGestureRecognizerBehavior<UILongPressGestureRecognizer>
{
    protected override void HandleGesture(UILongPressGestureRecognizer gesture)
    {
        // Long press recognizer fires continuously. This will ensure we fire
        // the command only once. Fire as soon as gesture is recognized as
        // a long press.
        if (gesture.State == UIGestureRecognizerState.Began)
        {
            FireCommand();
        }
    }

    public MvxLongPressGestureRecognizerBehaviour(UIView target)
    {
        var lp = new UILongPressGestureRecognizer(HandleGesture);

        AddGestureRecognizer(target, lp);
    }
}
set.Bind(this.LongPress()).For(lp => lp.Command).To(c => c.DoTheStuffCommand);