我有一个关于如何使用类从条目标记/视图绑定到视图模型的问题。每当我尝试将数据提交到我的视图模型类时,我都有一个空值。
以下是视图的代码:
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);
}
在视图模型中,我还有一个用户名和密码的类,它使用User模型:
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项目的帮助。
答案 0 :(得分:1)
您需要在viewmodel构造函数中创建一个新的User实例。
{{1}}