有没有关于在WPF中执行异步MVVM验证的建议?已经阅读了有关INotifyDataErrorInfo的内容,但不幸的是它只适用于Silverlight。
谢谢。
谢谢。
IDataErrorInfo是WPF的数据验证机制。你不是很喜欢微软的一贯性吗?;)
像这样在您的ViewModel上实现IDataErrorInfo:
public class MyViewModel : IDataErrorInfo
{
public string Error
{
get {
return GetErrorStringForThisViewModelInGeneral();
}
}
public string this[string columnName]
{
get
{
string result = null;
switch (columnName)
{
case "Quantity":
if (Quantity <= 0)
result = "Quantity must be greater than 1.";
break;
}
return result;
}
}
在属性(也称为this[])验证中,您可以使用EnterpriseLibrary中的验证器、使用属性的自定义验证器或任何您喜欢的东西。我只是展示了一个基本实现来帮助您入门。