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/