An interesting feature of Silverlight is how the interaction between visuals and logic (this is, between designers and developers) is handled. It uses a so-called Parts and States Model, which is ensured by a contract specified with attributes in the control class.

Jesse Liberty has made an excellent short post on this subject, which I strongly recommend. And provided a link to a series of posts by Karen Corby which go much deeper into creating a custom control with its own contract.

The last blog had some interesting news I had been looking forward to: using the visual state manager in WPF. I believed it was pointless to have different ways of handling the contract in Silverlight and WPF, since the model is exactly the same; and now it seems that WPF will be adding the changes introduced by Beta 2.