Я нашел именно эту проблему.В итоге я реализовал INotifyDataErrorInfo в моей модели представления (на самом деле в базовом классе) и проверил контекст проверки следующим образом:
// Clear any validation errors already registered
CurrentUser.ValidationErrors.Clear();
var validationResults = new List<ValidationResult>();
ValidationContext vcontext = new ValidationContext(CurrentUser, null, null);
// Validate the User; the results are added to our list of validationResults
Validator.TryValidateObject(CurrentUser, vcontext, validationResults);
// Add the errors to the entities validation error list
foreach (var res in validationResults)
{
CurrentUser.ValidationErrors.Add(res);
}
Я не могу вспомнить, как наверху, но если этоне вызывает ValidationStates в вашем представлении (то есть красной рамке в текстовом поле), добавляет ошибки в коллекцию ValidationErrors представления-модели (созданную в реализации INotifyDataErrorInfo).
// Add the errors to the viewmodel's validation error list
foreach (var res in validationResults)
{
CurrentUser.ValidationErrors.Add(res);
}