mvvmcross ios方法绑定(RIO)

时间:2014-03-21 10:17:47

标签: ios binding mvvmcross

有没有办法在iOS中使用MVVMCross实现方法绑定? 我无法在vids或教程中看到这样的绑定示例...

ImageNavigationViewModel

    public void NavigateLeft()
    {
        if (!this.HasLeftSisters.Value)
        {
            return;
        }

        this.currentNodeIndex--;
        this.Update();
    }

ImageNavigationView

private UIButton navigateLeftButton;
...

var set = this.CreateBindingSet<ImageNavigationView, ImageNavigationViewModel>();
set.Bind(this.navigateLeftButton).To(vm => vm.NavigateLeft);

我有一个编译时错误,因为它期待一个对象(ICommand)。

我也试过了:

set.Bind(this.navigateLeftButton).To("NavigateLeft");

并且有运行时错误:无法为绑定TouchUpInside for NavigateLeft创建目标绑定。

我最终在我的视图模型中添加了 ICommand ,这有点令人失望,因为我&#34;方法绑定&#34;只需在Android中找到。

1 个答案:

答案 0 :(得分:5)

Rio方法绑定在iOS

中可用

https://www.youtube.com/watch?v=8-5XQlcVj2Y中展示了样本鳕鱼e https://github.com/MvvmCross/NPlus1DaysOfMvvmCross/blob/master/N-36-Rio/BindMe.Touch/Views/FirstView.cs#L58

你的专栏:

  set.Bind(this.navigateLeftButton).To("NavigateLeft");

应该有效 - 但是您需要将方法绑定插件添加到Touch UI项目中以启用此扩展。