在iOS上执行双向绑定

本文关键字:绑定 执行 iOS | 更新日期: 2023-09-27 18:00:29

我似乎无法在iOS上使用Mvvm Light进行双向绑定,但在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 Username的值中。我在Mvvm Light样本中找不到任何类似的例子。有人用这个吗?谢谢

在iOS上执行双向绑定

试试这个:

 emailAddress.EditingChanged += (s, e) => { };
 emailAddress.ValueChanged += (s, e) => { };
emailAddress.SetBinding(() => App.Locator.LoginViewModel.Username,                                       () => emailAddress.Text, BindingMode.TwoWay)
                .UpdateTargetTrigger("EditingChanged")
                .UpdateTargetTrigger("ValueChanged");