我正在开发一个WPF应用程序(MVVM)。我有一个来自单独程序集的类(Odata V4 Generated Proxy Class)。
public partial class Book : BaseEntityType, INotifyPropertyChanged
{
public string Title{get;set;}
...
}
现在我需要使用数据注释来修饰该类的属性,以便使用IDataErrorInfo
或INotifyDataErrorInfo
接口验证属性。
例如:
[Required]
public string Title{get;set;}
问题:
由于此类处于单独的程序集中,因此无法创建分部类。 此类的属性受限于应用程序的UI元素。现在我需要在用户输入数据时验证属性。
我正在努力设计解决方案。 任何人都可以帮助我实现这个目标吗?
答案 0 :(得分:0)
包装器可能如下所示:
public class BookWrapper : INotifyPropertyChanged, IDataErrorInfo
{
private Book _book;
public Book Book
{
get
{
return _book;
}
set
{
_book-value;
NotifyPropertyChanged("Book");
}
}
public string Error
{
get { return String.Empty; }
}
public string this[string columnName]
{
get
{
String errorMessage = String.Empty;
switch (columnName)
{
case "Book":
if (Book.IsValid==false)
{
errorMessage = "Book not valid";
}
break;
}
return errorMessage;
}
}
INotifyPropertyChanged Implementation...
}
这样你就不会弄乱你的数据对象(Book),也不会乱用不必要的接口。