In WPF, we have access to two main validation interfaces; the original one is the IDataErrorInfo interface, and in .NET 4.5, the INotifyDataErrorInfo interface was added. In this section, we'll first investigate the original validation interface and its shortcomings, and see how we can make it more usable, before examining the latter.
Implementing the IDataErrorInfo interface
The IDataErrorInfo interface is a very simple affair, with only two required properties to implement. The Error property returns the error message that describes the validation error, and the Item[string] indexer returns the error message for the specified property.
It certainly seems straightforward enough, so let's take a look at a basic implementation of this interface. Let's create another base class to implement this in, and for now, omit all other unrelated base class members, so that we can concentrate on this interface:
using System.ComponentModel...