如何将数据从视图绑定到Xamarin中的视图模型?

时间:2017-06-05 14:55:45

标签: c# xamarin xamarin.forms

我有一个关于如何使用类从条目标记/视图绑定到视图模型的问题。每当我尝试将数据提交到我的视图模型类时,我都有一个空值。

以下是视图的代码:

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项目的帮助。

1 个答案:

答案 0 :(得分:1)

您需要在viewmodel构造函数中创建一个新的User实例。

{{1}}