When designing a user interface for an application, you need to ensure the consistency of the look and feel of the controls across the application. For example, if you are using buttons, they should look the same—similar colors, the same margins, and so on.
Styles are objects that hold the Setter properties to provide a bunch of settings to elements and controls. Style also provides control templates, which are used to customize the control template to have a distinctive look and feel.
In the Win32/WinForms model, the look and the behavior of the controls were tightly bundled; but in WPF world a control template is created in XAML using designer-oriented tools, and this applies styles to produce a similar look. You can also inherit a style from a different style.
In this chapter, we will discuss styles, templates, triggers, and their relationships with the controls to which they are applied.