My Account Log in

1 option

Learn WinUI 3 : Leverage WinUI and the Windows App SDK to Create Modern Windows Applications with C# and XAML / Alvin Ashcraft.

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Ashcraft, Alvin, author.
Language:
English
Subjects (All):
Application software--Development.
Application software.
C# (Computer program language).
Physical Description:
1 online resource (386 pages)
Edition:
Second edition.
Place of Publication:
Birmingham, England : Packt Publishing Ltd., [2023]
Summary:
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.
Contents:
Cover
Title Page
Copyright
Dedication
Contributors
Table of Contents
Preface
Part 1: Introduction to WinUI and Windows Applications
Chapter 1: Introduction to WinUI
Technical requirements
Before UWP - Windows 8 XAML applications
Windows application UI design
Windows Runtime (WinRT)
User backlash and the path forward to Windows 10
Windows 10 and UWP application development
Language choice with UWP development
Lifting app restrictions
UWP backward compatibility
What is XAML?
Creating an adaptive UI for any device
Powerful data binding
Styling your UI with XAML
Separating presentation from business logic
What is WinUI?
The first WinUI release
The road to WinUI 3
What's new in WinUI 3?
Goodbye UWP?
New features for WinUI 3 and the Windows App SDK
The Windows App SDK and WinUI
WinUI 3 compared to other Windows development frameworks
WinUI versus UWP
WinUI versus WPF
WinUI versus Windows Forms (WinForms)
Summary
Questions
Chapter 2: Configuring the Development Environment and Creating the Project
Installing Visual Studio and Windows desktop development workloads
Introducing the application idea
Reviewing the application features
WinUI in Desktop projects
Creating your first WinUI project
Anatomy of a WinUI in Desktop project
Reviewing App.xaml
Reviewing App.xaml.cs
Reviewing MainWindow.xaml
Reviewing MainWindow.xaml.cs
Reviewing the project references
Reviewing the project properties
XAML basics
Building the model
Creating sample data
Building the initial UI
Completing the data-binding initialization
Creating the DataTemplate and binding the UI
Understanding WinUI and Windows App SDK
Understanding the .NET app model.
Working with WinUI controls, properties, and events
Adding a ListView header
Creating the ComboBox filter
Adding a new item button
Chapter 3: MVVM for Maintainability and Testability
Understanding MVVM
MVVM - the big picture
MVVM libraries for WinUI
The MVVM Toolkit
The Prism Library
MVVMCross
Choosing a framework for WinUI applications
Understanding data binding in WinUI
What are markup extensions?
Binding markup extension
x:Bind markup extension
Updating View data with INotifyPropertyChanged
Updating collection data with INotifyCollectionChanged
Implementing MVVM in WinUI applications
Working with events and commands
Implementing ICommand
Using commands in the View Model
Updating the View
Leveraging the MVVM Toolkit
Chapter 4: Advanced MVVM Concepts
Understanding the basics of DI
Using DI with ViewModel classes
Leveraging x:Bind with events
Page navigation with MVVM and DI
Migrating MainWindow to MainPage
Adding ItemDetailsPage
Adding new interfaces and services
Creating a navigation service
Creating a data service
Increasing maintainability by consuming services
Handling parameters in ItemDetailsPage
Creating the ItemDetailsViewModel class
Chapter 5: Exploring WinUI Controls
Understanding what WinUI offers developers
Animated visual player (Lottie)
Navigation View
Parallax view
Rating control
Exploring the WinUI 3 Gallery app for Windows
Learning about the ScrollViewer control
Reviewing what's new in WinUI 3 and the Windows App SDK
Backward compatibility
Fluent UI and modern look and feel
Visual Studio tooling
The WebView2 control.
What's new in the Windows App SDK
Adding some new controls to the project
Using the SplitButton control
Adding a TeachingTip control to the Save button
Chapter 6: Leveraging Data and Services
Managing application state with app lifecycle events
Exploring Windows application lifecycle events
Lifecycle events of WinUI applications
Additional lifecycle events with FrameworkElement objects
Creating a SQLite data store
What is SQLite?
Adding SQLite as a data service
Leveraging a Micro ORM to simplify data access
Adding Dapper to the project
Updating the data service's initialization
Retrieving data via services
Part 2: Extending WinUI and Modernizing Applications
Chapter 7: Fluent Design System for Windows Applications
What is the Fluent Design System?
Exploring Fluent Design for Windows
Controls
Patterns
Layout
Input
Style
Incorporating Fluent Design in WinUI applications
Updating the title bar
Changing the style of MainPage
Changing the style of ItemDetailsPage
Using the Fluent XAML Theme Editor
Colors
Shapes
Acrylic material and the Fluent Design System
Use Mica in WinUI applications
Incorporate Mica into My Media Collection
Design resources and toolkits for Fluent Design
Chapter 8: Adding Windows Notifications to WinUI Applications
Overview of push notifications in the Windows App SDK
Raw push notifications
Cloud-based app notifications
Local app notifications
Using raw push notifications in WinUI applications
Adding Windows app notifications with the Windows App SDK
Chapter 9: Enhancing Applications with Community Toolkits
Technical requirements.
Introducing the WCT
Origins of the WCT
Reviewing recent toolkit releases
Exploring the WCT Gallery app
Installing and launching the app
Using controls from the toolkit
Creating the WinUI project
Referencing WCT packages
Adding data to the DataGrid control
Adding controls to the MainWindow control
Exploring the toolkit's helpers, services, and extensions
Helpers
Extensions
.NET Community Toolkit features
Chapter 10: Accelerating App Development with Template Studio
Overview of Template Studio for WinUI
Starting a new WinUI project with Template Studio
Exploring the code generated by Template Studio
Exploring the Core project
Exploring the main project
Exploring the MSTest project
Template Studio extensions for other UI frameworks
Template Studio for WPF
Template Studio for Uno Platform
Part 3: Build and Deploy on Windows and Beyond
Chapter 11: Debugging WinUI Applications with Visual Studio
Debugging in Visual Studio
Debugging local applications
Debugging remote applications
Common XAML layout mistakes
Improving your XAML with static code analysis
Pinpointing data binding failures
Common mistakes in data binding
Using the XAML Binding Failures window
Debugging live data with Live Visual Tree and Live Property Explorer
Coding with XAML Hot Reload
Debugging with Live Visual Tree and Live Property Explorer
Chapter 12: Hosting a Blazor Application in WinUI
Getting started with ASP.NET Core and Blazor
A brief history of ASP.NET and ASP.NET Core
What is Blazor?
WebAssembly and client-side .NET development
Creating a Blazor Wasm application.
Building a simple application for tracking tasks
Exploring Blazor Wasm deployment options
Deployment options for Blazor Wasm projects
Publishing Blazor to Azure Static Web Apps hosting
Pushing the project to GitHub
Creating an Azure Static Web Apps resource
Publishing an application with GitHub Actions
Hosting your Blazor application in the WinUI WebView2
Chapter 13: Take Your App Cross-Platform with Uno Platform
An overview of Uno Platform
Creating your first Uno Platform project
Migrating WinUI XAML markup and code to Uno Platform
Migrating the WinUI project code
Migrating the WinUI XAML views
Running on Android with WSA
Running in the browser with WebAssembly
Chapter 14: Packaging and Deploying WinUI Applications
Discovering application packaging and MSIX basics
MSIX
Reviewing MSIX tools and resources
Packaged applications and application identity
Getting started with application packaging in Visual Studio
Deploying applications with Windows Package Manager
Adding a package to the community repository
Using WinGet for package management
Distributing applications with the Microsoft Store
Preparing a free application for the Microsoft Store
Uploading a package to the Store
Sideloading WinUI applications with MSIX
Creating an MSIX package for sideloading
Sideloading an MSIX package
Index
About Packt
Other Books You May Enjoy.
Notes:
Includes bibliographical references and index.
Description based on print version record.
ISBN:
9781805129707
1805129708
OCLC:
1407633198

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account