【问题标题】:mvvmcross ios method binding (RIO)mvvmcross ios 方法绑定 (RIO)
【发布时间】:2014-03-21 10:17:47
【问题描述】:

有没有办法在 iOS 中使用 MVVMCross 实现 方法绑定? 我在视频或教程中看不到这种绑定的示例...

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");

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

我最终在我的视图模型中添加了一个 ICommand,这有点令人失望,因为我只是在 Android 中找到了“方法绑定”。

【问题讨论】:

    标签: ios binding mvvmcross


    【解决方案1】:

    Rio 方法绑定在 iOS 中可用

    https://www.youtube.com/watch?v=8-5XQlcVj2Y 中进行了演示,示例代码为https://github.com/MvvmCross/NPlus1DaysOfMvvmCross/blob/master/N-36-Rio/BindMe.Touch/Views/FirstView.cs#L58

    您的线路:

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

    应该可以工作 - 但您需要将方法绑定插件添加到 Touch UI 项目才能启用此扩展。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多