WPF and Silverlight make it easy to encapsulate UI
functionality within controls, and the user control mechanism they support provides a really easy way to take advantage of this. Combining user controls with
binding enables some nice view/model separation scenarios that allow you to
write very clean code when working with data.
You can download a completed version of the above sample here if you want to run it on your own machine.
To learn even more about Silverlight and WPF, check out my Silverlight Tutorials and Links Page. I also highly
recommend Karen Corby's excellent MIX08 talk (which covers User Controls,
Custom Controls, Styling, Control Templates and more), which you can watch
online for free here.
Hope this helps,