我有一个 DateTime 类型的属性,我想将其绑定(bind)到 View 模型。当我绑定(bind)我收到的属性时,错误提示绑定(bind)类型必须是引用类型。如何将此属性绑定(bind)到我的 View 模型并收到它的更改通知?
具体来说,导致编译器错误的代码如下所示:
set.Bind (StartDate).To (vm => vm.StartDate);
这是 View 的属性。
public static DateTime StartDate { get;放; }
最佳答案
Fluent 绑定(bind)的一般模式是:
set.Bind (target).For(v => v.TargetProperty).To (vm => vm.SourceProperty);
这会将 target
的 TargetProperty
绑定(bind)到源 DataContext(通常是 ViewModel)的 SourceProperty
。
当省略 For
时,MvvmCross 会查找默认属性。
在您的代码中,您试图将当前 StartDate
的默认属性绑定(bind)到 ViewModel 的 StartDate
。我怀疑你想要的是:
set.Bind(this).For(v => v.StartDate).To(vm => vm.StartDate);
有关流畅的数据绑定(bind)语法的更多信息,请参阅 wiki http://github.com/mvvmcross/mvvmcross/wiki
关于xamarin.ios - 如何将 DateTime 属性绑定(bind)到我的 View 模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24214550/