我有一个业务对象,其属性定义如下:
/// <summary>
/// Gets the Interest Payments dates Collection.
/// </summary>
public BindingList<DateTime> InterestPaymentDatesCollection
{
get
{
return this._interestPaymentDatesCollection;
}
}
这是在WPF应用程序中使用的(我是一个ASP.Net开发人员,已经交付了这个项目) - 基本上我需要确保_interestPaymentDatesCollection
中设置了一个值 - 否则我需要通知用户,该字段是必需的,等。作为一个WPF新手,我不熟悉如何做到这一点。我尝试使用IDataErrorInfo阅读示例,但无法拼凑如何在集合属性上执行此操作。
建议赞赏!
答案 0 :(得分:1)
包含Collection的类将实现IDataErrorInfo
,您将覆盖this[string.columnName]
属性并显示验证错误
有很多方法可以实现验证,但这是一个简单的例子:
public class TestModel : IDataErrorInfo
{
public List<DateTime> MyCollection {get; set;}
public string this[string columnName]
{
get { return this.GetValidationError(propertyName); }
}
public string GetValidationError(string propertyName)
{
switch (propertyName)
{
case "MyCollection":
// Do validation here and return a string if an error is found
if (MyCollection == null) return "Collection not Initialized";
}
return null;
}
}