因此,我在 iOS 中使用 MvvmCross 和 Monotouch.Dialog,当我做一些非常微不足道的事情时遇到了绑定问题 - 事实上,在 Stuart 的 n+1 视频之一中几乎逐字逐句地完成了。
鉴于以下观点:
[Register("FirstView")]
public class FirstView : MvxDialogViewController
{
public override void ViewDidLoad()
{
base.ViewDidLoad();
var bindings = this.CreateInlineBindingTarget<FirstViewModel>();
Root = new RootElement("Example Root")
{
new Section("Search")
{
new EntryElement("SearchString", "Search String").Bind(bindings, vm => vm.SearchString)
}
};
}
}
和这个 ViewModel:
public class FirstViewModel : MvxViewModel
{
private string _searchString = "search string";
public string SearchString
{
get
{
return _searchString;
}
set
{
_searchString = value;
RaisePropertyChanged(() => SearchString);
}
}
}
导航到此视图时,我从 Mvx 收到以下错误:
2013-08-22 14:44:51.766 TestApp[11581:c07] MvxBind:Error: 2.02 Empty binding target passed to MvxTargetBindingFactoryRegistry
[0:] MvxBind:Error: 2.02 Empty binding target passed to MvxTargetBindingFactoryRegistry
[0:]
2013-08-22 14:44:51.869 TestApp[11581:c07] MvxBind:Warning: 2.10 Failed to create target binding for to
[0:] MvxBind:Warning: 2.10 Failed to create target binding for to
我不确定为什么绑定失败。如果我在 SearchString 的“Get”中设置一个断点,我确实看到它被击中了。但是,更改条目元素的值不会触发“设置”。
有什么想法吗?