Book Image

Learn WinUI 3.0

By : Alvin Ashcraft
5 (1)
Book Image

Learn WinUI 3.0

5 (1)
By: Alvin Ashcraft

Overview of this book

WinUI 3.0 takes a whole new approach to delivering Windows UI components and controls, and is able to deliver the same features on more than one version of Windows 10. Learn WinUI 3.0 is a comprehensive introduction to WinUI and Windows apps for anyone who is new to WinUI, Universal Windows Platform (UWP), and XAML applications. The book begins by helping you get to grips with the latest features in WinUI and shows you how XAML is used in UI development. You'll then set up a new Visual Studio environment and learn how to create a new UWP project. Next, you'll find out how to incorporate the Model-View-ViewModel (MVVM) pattern in a WinUI project and develop unit tests for ViewModel commands. Moving on, you'll cover the Windows Template Studio (WTS) new project wizard and WinUI libraries in a step-by-step way. As you advance, you'll discover how to leverage the Fluent Design system to create beautiful WinUI applications. You'll also explore the contents and capabilities of the Windows Community Toolkit and learn to create a new UWP user control. Toward the end, the book will teach you how to build, debug, unit test, deploy, and monitor apps in production. By the end of this book, you'll have learned how to build WinUI applications from scratch and modernize existing WPF and WinForms applications using WinUI controls.
Table of Contents (20 chapters)
1
Section 1: Introduction to WinUI and Windows Applications
8
Section 2: Extending WinUI and Modernizing Applications
13
Section 3: Build and Deploy on Windows and Beyond

Hosting your Blazor application in the WinUI WebView2

We're on the home stretch. We created a Blazor Wasm application, pushed the source code to GitHub, and configured GitHub Actions to publish the application to Azure Static Web Apps with every commit. The last step is to create a simple WinUI project and add a WebView2 control to the MainPage:

  1. You can start by either creating a new Blank App (WinUI in UWP) named BlazorTasksHost in Visual Studio or opening the starter project from GitHub: https://github.com/PacktPublishing/-Learn-WinUI-3.0/tree/master/Chapter12/Start/BlazorTasksHost.
  2. Open MainPage.xaml and update the page to contain a Grid that contains the WebView2 control. Set the Source property to the URL of your BlazorTasks site:
    <Grid>
        <WebView2 Source="https://gray-plant-
          0af06960f.azurestaticapps.net/"/>
    </Grid>
  3. Remove the unused button click event handler in MainPage...