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.






8 responses so far ↓
Mike Wolf // March 16, 2008 at 8:06 pm
dude, this rocks…. hopefully we can start to build up a simple skins library as time goes on like there is in wpf…
advertboy // March 16, 2008 at 9:23 pm
completely agree with you!
On a side note the tooling for templates in blend for Silverlight is terrible. It’s such a turn off at the moment, I honestly hope Microsoft are going to fix this sooner rather than later.
I have to create dummy xamls with all my skins then copy and paste into the resources section. It’s good in the sense that It’s gotten me to learn the in’s and outs of templating BUT from a usability perspective TERRIBLE!
Silverlight Cream for March 16, 2008 -- #226 // March 16, 2008 at 9:38 pm
[...] SL2, LINQPad - ’nuff said, and Michael Washington on SL2, WS, and DNN. From SilverlightCream.com: Silverlight Control Contracts Diagram - For Skinning Jose is out there ahead of most of us as usual, and has a Control Contracts Diagram for download … [...]
lanphuong // March 17, 2008 at 3:02 am
Thank you
Xamlhouse > Microsoft Silverlight Exploration » Widgets updated to Silverlight 2.0 // March 24, 2008 at 4:12 pm
[...] it should be, and tool a good amount of work to get it working like I would like. With the help of liquid boy’s post and his awesome diagram I was able to finally skin the slider. Anyways, the process wasn’t too [...]
Rajeev // March 24, 2008 at 4:57 pm
This rocks … thanks so much for doing this.
desopedr // March 25, 2008 at 4:24 pm
wow !!
Thanks
madhavrao… // April 3, 2008 at 5:46 pm
[...] Silverlight Control Contracts diagram for Skinning - Jose Fajardo [...]
Leave a Comment