So far, we've just looked at simple redefinitions of the standard controls, by altering shapes, sizes, borders, and other common properties. However, we can do much more than that with WPF. Before continuing with this section, it is important to know that the more visuals each control is comprised of, the longer it will take to render them and so, this can negatively affect performance.
As such, it's important not to overdo the visual aspect of our controls if our application will be run on slow, old computers. Conversely, if we know that our end users will have plenty of RAM and/or graphics cards, then we can go the extra distance and develop visually stunning controls. Let's take a look at some techniques that we can use to improve the look of our controls.
Throwing shadows
One of the easiest ways to make our UI elements pop out of the screen is to add a shadow to them. Each control has an Effect property that is inherited from the UIElement class. We...