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 to do it...

Follow these steps to read an image file, embedded as a Resource, and display it in the UI:

  1. First, create a folder named Images inside the project and add an image inside it. Let's name the image image1.png.
  2. Open the MainWindow.xaml file by navigating to Solution Explorer.
  3. Add an image tag inside the Grid panel and name it img:
<Grid> 
    <Image x:Name="img" /> 
</Grid>
  1. Go to the MainWindow.xaml.cs file and, inside the constructor of the class, just after the InitializeComponent() call, create the streamResourceInfo from the resource stream of the image. Here's the code to get the stream info:
var streamResourceInfo = Application.GetResourceStream(new Uri("Images/image1.png", UriKind.RelativeOrAbsolute)); 
  1. Now we need to create the instance of BitmapImage from that stream. Copy the following content and pass the streamResourceInfo.Stream to the StreamSource property of the BitmapImage:
var bitmapImage = new BitmapImage...