Ich bin neu in MvvmCross, ich habe eine Frage in Bezug auf die Bindung in Android. Ich kann an eine einzelne Eigenschaft binden, aber keine Daten an ein Objekt binden. Nicht sicher, was ich tue, falsch, aber hier ist es:MvvmCross Objekt Datenbindung
Modellklasse:
public class Login : MvxNotifyPropertyChanged
{
private string _email;
public string Email
{
get { return _email; }
set
{
SetProperty(ref _email, value);
}
}
public string Password { get; set; }
}
Snippet of View Model-Klasse:
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);
}
}
}
Snippet von 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" />
Wo ich falsch liege, habe ich einen Haltepunkt platziert, sehe aber nicht, dass er getroffen wird. Dies ist EditText gebunden, aber nichts scheint zu passieren. Fehle ich oder mache ich etwas falsch, um an eine Objekteigenschaft zu binden?
Hallo Dank für das Feedback, ich habe getan, was Sie erwähnt haben, aber es funktioniert immer noch nicht? hilft es, wenn ich erwähne, dass ich eine separate Lösung für das Modell habe? Auch im ViewModel, wenn ich eine Eigenschaft wie sie für Email = "= - =" gesetzt habe, bricht die App aus irgendeinem Grund. –
@helloworld, ich habe meine Antwort aktualisiert, Sie können es überprüfen. –
Ich habe das Gefühl, es ist wegen der seperaten Lösung, die es unmöglich macht, den gleichen Bezug von MVVM zu halten. Ich denke, dass die Domain in die gleiche Lösung platziert wird und dass sie am wahrscheinlichsten funktioniert. –