Lesson 23 - Themes and Styles in C# .NET WPF
In the previous lesson, Audio/Video Player in C# and WPF - Finishing, we completed our audio and video player. Originally, this tutorial was intended to explain "skinning", but it'd be a good thing to mention all the possibilities to adjust the appearance of our forms. After all, appearance is one of the main advantages of the WPF technology. We're also going to mention the themes and discuss the use of skins.
The WPF platform utilizes the concept of separating the application logic from it's appearance (form), which brings multiple benefits. It allows us to change the position and appearance of the controls, without breaking the program's code. It all looks like a Lego set. We create individual pieces and then combine them into whole.
We can use the following approaches to change the form's appearance:
- Containers - For the sake of completeness, let's say that
we use containers to align controls on the form. We already know e.g.
StackPanel. Containers are discussed in more detail in one of the following lessons, WPF - Container Elements.
- Properties - We can change the appearance of a single control through its properties.
- Themes - We use Windows themes.
- Styles - We define styles in reusable resources for various controls.
- Skins - We make custom interchangeable themes (skins).
We'll now describe these approaches in detail and try them on examples.
...End of the preview...
You've come here and that's great! We believe that the first lessons showed you something new and useful
Do you want to continue the course? Go to the premium section.
- Unlimited and permanent access to individual lessons.
- High quality IT knowledge.
- Skills to help you get your dream and well-paid job.
Requested article covers this content:
This WPF tutorial is dedicated to changing form appearance and describes ways to do this with styles, skins, and themes.
You gain points by supporting our network. This is done by sending a helpful amount of money to support the site, or by creating content for the network.