当我在列表中添加新对象时,如何改进这种方法
本文关键字:何改进 方法 对象 列表 添加 新对象 | 更新日期: 2023-09-27 18:28:50
我的应用程序使用MVVM。
这是我的场景。我有一个ViewModel
,其中包含ObservableCollection<Person>
和AddPersonCommand
的委托命令。
Person
类包含FirstName、LastName和Age。在我看来,我放置了三个文本框,并将每个文本框绑定到个人的属性。即
- TextBox1:绑定名字
- 文本框2:绑定姓氏
- 文本框3:装订年龄
所以我的ViewModel
暴露了:
- FirstName:string
- 姓氏:string
- 年龄:int
- 人员:ObservableCollection
当我使用委托命令时,我会是这样的:
public void AddPersonCommand()
{
Person newPerson = new Person()
{
FirstName = _firstName,
Last... ,
Age = ...
};
Persons.Add(newPerson);
}
但我认为这种方法是多余的。我的意思是,我不想从模型中复制每个属性,我认为有更好的方法可以做到这一点。
不要在视图模型中使用FirstName、LastName和Age。只需使用Person对象。那么你的代码就是:
Persons.Add(this.Person);
看起来您的视图模型中有单独的Person属性以便于绑定。这没必要。与其绑定到视图模型的LastName属性,不如绑定到视图模式的Person.LastName.AndPerson.FirstName.Andperson.Age.