首页 > 解决方案 > MVVM:我应该将文本框直接绑定到模型还是应该先创建一个完整的属性?

问题描述

所以我有一个这样的文本框:

<TextBox x:Name="FirstName" Width="100" />

我有一个这样的模型:

public class Person
{
    public string FirstName { get; set; }
}

我的视图模型应该是这样的:

private Person _person;

public string FirstName
{
    get => _person.FirstName;
    set => _person.FirstName = value;
}

或者

private string _firstName;
public string FirstName
{
    get { return _firstName; }
    set
    {
         _firstName = value;
         NotifyOfPropertyChange(FirstName);
    }
}

然后稍后再创建人员对象?

标签: wpfmvvmdata-bindingcaliburn.micro

解决方案


这样做,那么你不需要关心Person对象的创建。

private Person _person;
public string FirstName
{
    get => _person.FirstName;
    set
    {
        _person.FirstName = value;
        NotifyOfPropertyChange(nameof(FirstName));
    }
}

推荐阅读