c# - 在 MvvmCross 3.0.14 中是否有不同的方法来绑定(bind) iOS ICommand?

标签 c# ios mvvmcross

N+1 天的 MvvmCross 教程 N=5 下载后在 Xamarin Studio 中构建良好。但是,如果我将程序集从 3.0.5 更新到 3.0.14,iOS 项目将不再生成。错误与这两行有关:

set.Bind(button).To(vm => vm.MyCommand);
set.Bind(button2).To(vm => vm.GoSecondCommand);

错误信息如下:

Cannot convert `lambda expression' to non-delegate type `string'

它的工作方式有变化吗?对象浏览器显示采用 Func<TSource, object> 的正确方法但似乎编译器想要使用 string版本。奇怪的是它上面的两行绑定(bind)到常规属性工作正常,但是 ICommand绑定(bind)的东西失败了。

最佳答案

自从拍摄 N=5 以来,xamarin 添加了自己的 pcl 支持

作为此支持的一部分,您需要在“添加引用”的“程序集”部分中将 Touch UI 项目的项目引用添加到 System.Windows.dll

此 System.Windows 程序集包含 ICommand 的类型转发定义 - 这应该会清除您的编译错误

关于c# - 在 MvvmCross 3.0.14 中是否有不同的方法来绑定(bind) iOS ICommand?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20342667/

相关文章:

ios - ReactiveCocoa 问题

iphone - iOS 使用 PullToRefreshView 使 UICollectionView 可滚动

ios - MvvmCross 6.0 - TipCalc iOS 示例 - 无法正常工作

ios - MvxTabBarViewController标签栏色调颜色

c# - DataContext db = new DataContext() - 作为全局

c# - 我可以依赖 DataAvailable 来获取 SSL 封装的网络流吗?

c# - WPF 中 ViewModel 上的线程锁定

c# - 检查本地用户所属的组

sqlite - iOS 核心数据 - Sql-lite 集成及其对数据可移植性的影响

c# - MvvmCross - MvxListView绑定(bind)多次点击