创建自定义绑定Windows Phone

时间:2012-11-26 10:49:42

标签: c# windows-phone-7 mvvmcross

如何为Windows Phone创建自定义绑定?

我需要做这样的事情(但这个Android的例子): answer

Android中的自定义绑定:

public class LongClickEventBinding
    : MvxBaseAndroidTargetBinding
{
    private readonly View _view;
    private IMvxCommand _command;

    public LongPressEventBinding(View view)
    {
        _view = view;
        _view.LongClick += ViewOnLongClick;
    }

    private void ViewOnLongClick(object sender, View.LongClickEventArgs eventArgs)
    {
        if (_command != null)
        {
            _command.Execute();
        }
    }

    public override void SetValue(object value)
    {
        _command = (IMvxCommand)value;
    }

    protected override void Dispose(bool isDisposing)
    {
        if (isDisposing)
        {
            _view.Click -= ViewOnLongClick;
        }
        base.Dispose(isDisposing);
    }

    public override Type TargetType
    {
        get { return typeof(IMvxCommand); }
    }

    public override MvxBindingMode DefaultMode
    {
        get { return MvxBindingMode.OneWay; }
    }
}

请原谅我提出的不正确的问题。

2 个答案:

答案 0 :(得分:0)

据我了解你的问题,你根本不需要开发任何东西。使用Blend来应用&设置CallMethodAction内置行为,并在VM类中实现公共方法。

答案 1 :(得分:0)

WP7不会将Tap and Hold公开为事件。

但是,我相信你可以使用手势在Wp7和Wp8中访问这种类型的东西 - 例如。