Let's now utilize some of the techniques that we discussed in Chapter 8, Creating Visually Appealing User Interfaces, to design a visually appealing user interface, that highlights validation errors in a novel way, using our glowing example. For this example, we want the ability to know when the data has changed, so we'll need to extend our earlier BaseSynchronizableDataModel class in another new base class.
Let's duplicate our BaseNotifyValidationModelExtended class, so as to create a new BaseNotifyValidationModelGeneric class, and make it extend our synchronizable base class. In doing so, we will also need to make it generic, and add the same generic constraints for the T generic type parameter from the base class to its declaration:
using CompanyName.ApplicationName.DataModels.Interfaces;
...
public abstract class BaseNotifyValidationModelGeneric<T> :
BaseSynchronizableDataModel<T>, INotifyPropertyChanged,
INotifyDataErrorInfo...