在POCO上使用dataannotation 39;s,并使用MVVM WPF反映结果
本文关键字:MVVM WPF 结果 POCO dataannotation | 更新日期: 2023-09-27 18:10:16
我一直在研究DataAnnotations
并创建我自己的DataAnnotations
以供将来使用-主要是在MVC4(这是相当容易的,可以安全地说)。我想验证如果我在WPF项目中使用相同的Model
类,它们将是多么有用,有效和易于使用。
public class Customer
{
public int Id { get; set; }
[Required()]
public string Name { get; set; }
}
public class ViewModelBase : IDataErrorInfo, INotifyPropertyChanged
{
//... (INotifyPropertyChanged)
public string Error
{
get
{
return string.Empty;
}
}
public string this[string columnName]
{
get
{
//According to tutorials, something here
return string.Empty;
}
}
}
因此,如果我要继续创建从基类继承的CustomerViewModel
,我是否必须呈现模型属性的子集视图,如:
public class CustomerViewModel : ViewModelBase
{
[Required]
public string Name { get; set; }
}
意味着我必须再次实现注释,或者有可能只是使用模型并以某种方式使用WPF的MAGICAL绑定将模型验证反射回前端?
我一直在看很多文章,但没有一篇看起来很整洁或很简洁——比如:
http://blog.paulbetts.org/index.php/2010/04/27/wpf-data-validation-using-dataannotations/为什么要在视图模型中放置另一个Name属性?
如果你在视图模型中有一个Customer属性,你可以在你的xaml中访问它,像
{Binding Customer.Name}
这将自动从模型类中获取数据注释。
编辑:一个很好的例子见:http://www.codeproject.com/Articles/98681/Validating-User-Input-WPF-MVVM