双向绑定在iOS上运行吗?

时间:2015-06-30 01:35:47

标签: c# ios xamarin mvvm-light

我似乎无法使用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样本中找不到这样的例子。有人有这个工作吗? 感谢。

1 个答案:

答案 0 :(得分:2)

试试这个:

 emailAddress.EditingChanged += (s, e) => { };
 emailAddress.ValueChanged += (s, e) => { };

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