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

Hosting WinForm controls in WPF applications

Though Windows Platform Foundation (WPF) provides a huge set of controls with a rich set of features, there can still be chances of various cases when you have some Windows Form (WinForm) controls that are not available in WPF. There could be some cases too, when you are porting your WinForm application to WPF, where you have no other choice than reusing existing controls and/or forms, as the reimplementation will burn huge efforts. So, what needs to be done in such cases?

WPF provides a way to reuse existing controls from Windows Forms and host them inside it (whether in a control, a window, or a page). This is called interoperation between the two platforms as they present two different architectures for creating application interfaces.

The System.Windows.Forms.Integration namespace provides you with the classes that enable the common interoperation scenarios, whereas the WindowsFormsHost class provides you with the capability to implement...