Вопрос о том, должна ли модель валидировать себя, вызывывает массу холиваров. Так же как вопрос о том, является ли валидация бизнес-логикой. В контексте WPF, возможно, дело обстоит иначе, потому что вид обычно имеет дело не с моделью предметной области, а с моделью вида (если, конечно, используется MVVM или подобный паттерн). Но, все-таки, лучший фреймворк валидации — тот, который минимально затрагивает классы модели и не тянет за собой «хвостов» в виде зависимостей. В частности, требование наследования модели от базового класса из библиотеки валидации кажется очень неприятным.
Для ASP.NET MVC сейчас активно продвигается валидация с помощью Data Annotations. Не знаю, имеется ли в настоящий момент поддержка для WPF, но есть подозрения, что в будущем этот механизм станет стандартным для технологий MS. Достоинство Data Annotations в их легковесности. Отдельная DLL (System.ComponentModel.DataAnnotations.dll) содержит атрибуты, которыми нужно помечать свойства классов предметной области. При этом System.ComponentModel.DataAnnotations
— стандартное пространство имен .NET и не тянет за собой никаких зависимостей, так как не включает логику отображения ошибок для какого-то конкретного движка (WinForms, WPF, WebForms, MVC и тд).