0
我是MvvmCross的新手,我有一个关于Android绑定的问题。我可以绑定到单个属性,但无法将数据绑定到对象。不知道我做错了,但在这里它是:MvvmCross对象数据绑定
模型类:
public class Login : MvxNotifyPropertyChanged
{
private string _email;
public string Email
{
get { return _email; }
set
{
SetProperty(ref _email, value);
}
}
public string Password { get; set; }
}
查看的片段模型类:
public class LoginOptionViewModel: MvxViewModel
{
private readonly IMvxNavigationService _navigationService;
public LoginOptionViewModel(IMvxNavigationService navigationService)
{
_navigationService = navigationService;
LoginCommand =
new MvxAsyncCommand(async() => await _navigationService.Navigate<RegistrationViewModel>());
}
public IMvxAsyncCommand LoginCommand { get; set; }
private Login _loginInfo;
public Login LoginInfo
{
get
{
return _loginInfo ?? new Login();
}
set
{
_loginInfo = value;
RaisePropertyChanged(() => LoginInfo);
}
}
}
的Android的片段Axml:
<EditText
android:id="@+id/loginEmailTxt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/EmailHint"
android:textColor="@color/darkNavy"
android:inputType="textEmailAddress"
local:MvxBind="Text LoginInfo.Email" />
我哪里错了,我已经放置了一个断点,但没有看到它被击中。这绑定到EditText,但没有任何事情发生。我是否错过或做错了为了绑定到对象属性?
嗨,感谢您的反馈,我已经完成了您提到的内容,但仍然无法正常工作?提及我对模型有单独的解决方案有帮助吗?如果我设置一个像你这样的属性的电子邮件=“= - =”它也打破了应用程序出于某种原因。 –
@helloworld,我有更新我的答案,你可以检查它。 –
我有一种感觉,因为它无法持有MVVM的相同参考的单独解决方案。我认为不适合将域名放入同一个解决方案,并且最有可能工作 –