Book Image

Windows Presentation Foundation Development Cookbook

Book Image

Windows Presentation Foundation Development Cookbook

Overview of this book

Windows Presentation Foundation (WPF) is Microsoft's development tool for building rich Windows client user experiences that incorporate UIs, media, and documents. With the updates in .NET 4.7, Visual Studio 2017, C# 7, and .NET Standard 2.0, WPF has taken giant strides and is now easier than ever for developers to use. If you want to get an in-depth view of WPF mechanics and capabilities, then this book is for you. The book begins by teaching you about the fundamentals of WPF and then quickly shows you the standard controls and the layout options. It teaches you about data bindings and how to utilize resources and the MVVM pattern to maintain a clean and reusable structure in your code. After this, you will explore the animation capabilities of WPF and see how they integrate with other mechanisms. Towards the end of the book, you will learn about WCF services and explore WPF's support for debugging and asynchronous operations. By the end of the book, you will have a deep understanding of WPF and will know how to build resilient applications.
Table of Contents (13 chapters)
2
Using WPF Standard Controls

How it works...

When you create a Style object, you set a bunch of Setter objects to it to define various properties to change the look and feel of the control. This may include the height, width, positions, alignments, colors, fonts, control template, triggers, and more.

The FrameworkElement class exposes a Style property that can be filled by a Style object. Styles are always built as resources, as you see them inside the <Window.Resources> tag in our example. It contains an x:Key property, which defines the name/key of the style. By using this Key, you can perform a binding from any other resources/controls within the scope. The TargetType property of a Style object is typically set, which makes the Style applicable to that type, which can be any type, even a type of a custom control.

In this example, the applied style works on Button objects. Trying to apply the same to some other element type will cause a runtime exception.