我似乎无法使用Mvvm Light在iOS上进行双向绑定,但在Android上它很好。
// ViewModel property
public string Username
{
get { return _username; }
set { _username = value; RaisePropertyChanged(() => Username); }
}
// Android View code
_emailBinding = emailAddress.SetBinding(() => App.Locator.LoginViewModel.Username,
() => emailAddress.Text,
BindingMode.TwoWay)
在iOS上使用相同的绑定代码,其中emailAddress是TextField,这意味着输入的Text值不会反映在ViewModel用户名的值中。 我在Mvvm Light样本中找不到这样的例子。有人有这个工作吗? 感谢。
答案 0 :(得分:2)
试试这个:
emailAddress.EditingChanged += (s, e) => { };
emailAddress.ValueChanged += (s, e) => { };
emailAddress.SetBinding(() => App.Locator.LoginViewModel.Username, () => emailAddress.Text, BindingMode.TwoWay)
.UpdateTargetTrigger("EditingChanged")
.UpdateTargetTrigger("ValueChanged");