Book Image

Learn WinUI 3 - Second Edition

By : Alvin Ashcraft
5 (2)
Book Image

Learn WinUI 3 - Second Edition

5 (2)
By: Alvin Ashcraft

Overview of this book

WinUI 3 takes a whole new approach to delivering Windows UI components and controls and has the ability to deliver the same features across multiple versions of Windows. Learn WinUI 3 is a comprehensive introduction to WinUI and Windows apps for anyone who is new to WinUI and XAML applications. This updated second edition begins by helping you get to grips with the latest features in WinUI and shows you how XAML is used in UI development. The next set of chapters will help you set up a new Visual Studio environment, develop a new desktop project, incorporate the Model-View-ViewModel (MVVM) pattern in a WinUI project, and develop unit tests for ViewModel commands. Next, you’ll cover the basics of data access from WinUI projects with a step-by-step approach. As you advance, you’ll discover how to leverage the Fluent Design System to design beautiful WinUI applications. You’ll also explore the contents and capabilities of the Windows Community Toolkit and learn how to create cross-platform apps with markup and code from your project using Uno Platform. The concluding chapters will teach you how to build, debug, and deploy apps to the Microsoft Store. By the end of this book, you’ll have learned how to build WinUI applications from scratch and how to modernize existing desktop apps using WinUI 3 and the Windows App SDK.
Table of Contents (20 chapters)
Free Chapter
1
Part 1:Introduction to WinUI and Windows Applications
8
Part 2:Extending WinUI and Modernizing Applications
13
Part 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 Azure configured GitHub Actions to publish the application to Azure Static Web Apps with every commit. The last step is to create a simple WinUI 3 project and add a WebView2 control to MainWindow:

  1. You can start by either creating a new Blank App, Packaged (WinUI in Desktop) named BlazorTasksHost in Visual Studio or opening the starter project from GitHub: https://github.com/PacktPublishing/-Learn-WinUI-3/tree/master/Chapter12/Start/BlazorTasksHost.
  2. Open MainWindow.xaml and update the window to host Grid that contains the WebView2 control. Set the Source property to the URL of your BlazorTasksWasm site:
    <Grid>
        <WebView2 Source="https://you-custom-url-
          0af06780d.azurestaticapps.net/"/>
    </Grid>
  3. Remove the unused button click...