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

Rescaling UI elements using a ViewBox

When you are building an application, you don't know the screen resolution of the system where the application will be running. If you design the UI considering small or standard resolution in mind, the UI controls will look very small in a high-resolution monitor. If you do the reverse, with big screens in mind, the user won't see the parts of the screen, if executed on a low-resolution monitor.

Hence, there is a need to create an auto-scaling mechanism, which will take care of different screen resolutions. ViewBox is a very popular control in WPF, which helps you to scale the content to fit the available space based on the size. When you resize the parent, it automatically transforms the content to scale in proportion.

Let's learn how it works, with a simple example, in this recipe.