双向绑定是否适用于 iOS?
Do twoway bindings work on iOS?
我似乎无法使用 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 意味着输入的文本值不会反映在 ViewModel 用户名的值中。
我在 Mvvm Light 样本中找不到任何这样的例子。有没有人让这个工作?
谢谢
试试这个:
emailAddress.EditingChanged += (s, e) => { };
emailAddress.ValueChanged += (s, e) => { };
emailAddress.SetBinding(() => App.Locator.LoginViewModel.Username, () => emailAddress.Text, BindingMode.TwoWay)
.UpdateTargetTrigger("EditingChanged")
.UpdateTargetTrigger("ValueChanged");
我似乎无法使用 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 意味着输入的文本值不会反映在 ViewModel 用户名的值中。 我在 Mvvm Light 样本中找不到任何这样的例子。有没有人让这个工作? 谢谢
试试这个:
emailAddress.EditingChanged += (s, e) => { };
emailAddress.ValueChanged += (s, e) => { };
emailAddress.SetBinding(() => App.Locator.LoginViewModel.Username, () => emailAddress.Text, BindingMode.TwoWay)
.UpdateTargetTrigger("EditingChanged")
.UpdateTargetTrigger("ValueChanged");