Introduction
One of the main concepts, when you work over a complex (or not so) project, is “divide and conquer”. This is the need of splitting the whole project into small and reusable parts, called controls. Having lots of these smaller parts, you can easily manage them in a view (page, window, etc).
People who have worked with WinForms and ASP.NET are already familiar with this idea. It is realized both in WPF and Silverlight as well. Each control has its own behavior and style. The look and feel of each control can be tweaked through styles or can be entirely redesigned through templates, and the behavior of controls can be modified through event handlers.