Silverlight provides the capability to easily style elements of user interfaces and alter the appearance (separate from the behavior) of controls. Styling is similar in spirit to how CSS properties work: user interface elements can reuse fonts, colors, and sizes that are specified as a style by applying a specific style to a
FrameworkElement. Templating, however, is limited to
Control-based classes and is used to completely change how controls are rendered visually. This mechanism works because what the control does (its behavior) is separate from how it looks. These two capabilities provide a significant amount of user interface customization to designers and developers when working with Silverlight.