有没有办法在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中找到。
答案 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项目中以启用此扩展。