I’m very proud of my friend Sean. For as long as I can remember, Sean has been very passionate about the “social” aspects of computing, He has been living in India for the past few years, and was inspired to apply social computing to help India’s poor. And today Babajob received front page coverage in the International Herald Tribune. Congrats Sean!
On our BindingElement class, there is a protected ctor that takes another BindingElement as its parameter. This constructor exists in order to facilitate a composable implementation of BindingElement.Clone. When writing a custom binding element, first implement a protected copy constructor as follows (note that for sealed classes this ctor should be private):
// copy all fields from elementToBeCloned.XXX to this.XXX
Then you should implement your Clone() method as follows:
Any BindingElement in your inheritance chain (assuming it has followed this pattern) will then copy over the relevant values in its copy constructor, so that you can be assured a full Clone of your custom binding element.