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...

A User Control wraps the UI with appropriate properties and events to make it a reusable component. In this User Control, named ColorMixer, we created a dependency property called SelectedColor of type Color. The user (the developer or the designer) can also set a default value to it, by accessing the property, while adding it to the application UI.

The Text property of the TextBox controls, inside the ColorMixer.xaml, is bound with the SelectedColor property. As the types of Text and SelectedColor properties are different, we required the value converter here.

ConverterParameter is used to define whether we need to break the R, G, B, or A value of the color composition. The Convert method of the converter class breaks the color according to the parameter and returns, which gets displayed in the appropriate TextBox control:

switch (parameterValue) 
{ 
    case "r": 
        return color.R; 
 
    case "g": 
        return color.G; 
 
    case &quot...