クラスを使用してエントリタグ/ビューからビューモデルにバインドする方法に関する質問があります。私はビューモデルクラスに行くデータを送信しようとするたびにnull値を持っています。ここXamarinのビューモデルからビューモデルへのデータバインド方法は?
は、ビューのコードである:ここ
Entry Text="{Binding User.UserName, Mode=TwoWay}"/>
<Entry Text="{Binding User.Password, Mode=TwoWay}"/>
<Button Text="Login" Command="{Binding LoginCommand}"/>
は、ビューモデル(コンストラクタ部分)のためのコードである:ビューモデルで
public LoginPageViewModel(IApiService apiService, INavigationService navigationService)
{
this.apiService = apiService;
this.navigationService = navigationService;
LoginCommand = new DelegateCommand(Login);
}
、私ものクラスを持っていますそれはユーザーのモデルを使用して、ユーザー名とパスワード:
private Users user;
public Users User
{
get { return user; }
set { SetProperty(ref user, value); }
}
ここでは、ユーザーのためのモデルである:
public class Users : BindableObject
{
private string username;
public string UserName
{
get { return username; }
set { username = value; }
}
private string password;
public string Password
{
get { return password; }
set { password = value; }
}
}
送信ボタンを押すたびに、コードをデバッグしようとするとnull値が返されます。
private async void Login()
{
var test = User.UserName;
bool success = await apiService.LoginAsync(User);
私のXamarinプロジェクトにご協力いただきありがとうございます。
LoginViewModelを作成すると、Userの新しいインスタンスがインスタンス化されるか、それともnullですか? – Jason
@Jasonそれはちょうどヌル値です。 – jololandayan