Ответ 1
Если вы работаете только в Silverlight, вы должны реализовать INotifyDataErrorInfo. Из документации:
В общем, новые классы сущностей для Silverlight должны реализовать INotifyDataErrorInfo для дополнительной гибкости вместо реализации IDataErrorInfo.
Однако, если вы хотите совместно использовать код с WPF, IDataErrorInfo
поддерживается как в Silverlight, так и в WPF.