Xamarin.ios MvvmCross-binding iOS手势
我正在寻找一种方法,如何将ios手势(如UILongPressGestureRecognitor)绑定到MvvmCross中的ICommand或MvxCommand,谢谢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
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);