草庐IT

IDataErrorInfo

全部标签

c# - 如何为多个 BO 属性定义 IDataErrorInfo 错误属性

我开始通过IDataErrorInfo接口(interface)在我的WPF项目中实现验证。我的业务对象包含多个带有验证信息的属性。如何获取与该对象关联的所有错误消息的列表。我的想法是,这就是Error属性的用途,但我无法找到任何人使用它来报告多个属性。谢谢!publicstringthis[stringproperty]{get{stringmsg=null;switch(property){case"LastName":if(string.IsNullOrEmpty(LastName))msg="Needalastname";break;case"FirstName":if(str

C# 验证 : IDataErrorInfo without hard-coded strings of property name?

实现IDataErrorInfo的最佳做法是什么?无论如何都可以在没有属性名称硬编码字符串的情况下实现它? 最佳答案 通用验证例程的基类您可以使用DataAnnotations如果您在IDataErrorInfo实现中做了一些futzing。例如,这是我经常使用的基本View模型(来自Windows窗体,但您可以推断):publicclassViewModelBase:IDataErrorInfo,INotifyPropertyChanged{publiceventPropertyChangedEventHandlerPropert

如何利用 IDataErrorInfo 实现数据校验

一、定义:ValidatesOnDataErrors是一种在WPF中实现数据校验的方式,可以通过在XAML中设置属性ValidatesOnDataErrors为True来启用。二、使用:① 在ViewModel中实现IDataErrorInfo接口,该接口定义了两个属性:Error和Item[stringcolumnName]  ——Error属性返回ViewModel中所有错误的描述信息;  ——Item[stringcolumnName]属性返回指定属性的错误描述信息。 ② 在XAML中设置Binding的ValidatesOnDataErrors属性为True,例如:TextBoxTex

WPF绑定(Binding)下的数据验证IDataErrorInfo

绑定下的数据验证WPF中Binding数据校验、并捕获异常信息的三种方式讲到了三种方式,其中使用ValidatinRule的方式比较推荐,但是如果一个类中有多个属性,要为每个属性都要声明一个ValidatinRule,这样做非常麻烦。可以让类继承自IDataErrorInfo来解决这个问题。IDataErrorInfo基本使用Data类中具有多个属性publicclassData:IDataErrorInfo{privatestring_value;publicstringValue{get{return_value;}set{_value=value;}}privatestring_myVa