After skinning my nth control I got fed up with continually referring to the MS source code via reflector and made up my own diagram with all the control contracts in them. Print it out and stick it up on your work wall, hopefully you guys find it useful. Shoot me a comment of any changes you feel would be beneficial to this diagram.
If you don’t know what a contract is then refer back to my post on “Skinning a button – 4 different ways and counting“. Put simply the standard Silverlight controls wire themselves up to customized skins by finding specifically named storyboard’s and visual elements. At the moment the easiest way to retrieve these contracts is to interrogate the controls source code via reflector, I thought it would be easier to have a document that identified these contracts.
I also plan on maintaining this diagram over time, enjoy :)
Low quality JPG – [500k] – ControlContracts.jpg
High quality PNG – [850k] – ControlContracts.png
This builds on top of my other diagram “Silverlight Control Hierarchy“.
You can also find this article on my new home site at CynergySystems.