【发布时间】:2012-11-11 15:56:14
【问题描述】:
我正在创建一个应用程序,使用户能够插入、更新和删除已输入然后显示在数据网格中的数据(CRUD 操作)。
在我的视图模型中,它包含绑定到 xaml 的属性(例如Firstname)。它还包含一个导航属性以及验证属性。
[Required(ErrorMessage = "First Name is a required field")]
[RegularExpression(@"^[a-zA-Z''-'\s]{1,20}$", ErrorMessage = "First Name must contain no more then 20 characters and contain no digits.")]
public string FirstName
{
get { return _FirstName; }
set
{
if (_FirstName == value)
return;
_FirstName = value;
OnPropertyChanged("FirstName");
}
}
此外,它还包含用于执行xaml 的命令,从而创建CRUD 操作的实例;
private void UpdateFormExecute()
{
var org = new OrganisationTypeDetail();
UpdateOrganisationTypeDetail(org);
}
最后,它还包含 CRUD 操作。比如插入、更新和删除。
这引出了我的问题。如果我想实现正确的 MVVM 方式,所有这些代码对于视图模型来说是否包含太多?
我是否应该使用该模型并在我的视图模型中创建一个集合并将其绑定到我的xaml?这会是正确的做法吗?
我应该为 CRUD 操作使用存储库系统吗?如果是这样,我将如何将文本字段中的数据传递给模型以进行更新?
我是 WPF、MVVM 的新手,如果没有适当的指导,我很难适应。
【问题讨论】:
标签: c# wpf entity-framework mvvm datagrid