Learn WinUI 3 Leverage WinUI and the Windows App SDK to Create Modern Windows Applications with C# and XAML

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...

Full description

Bibliographic Details
Other Authors: Ashcraft, Alvin, author (author)
Format: eBook
Language:Inglés
Published: Birmingham, England : Packt Publishing Ltd [2023]
Edition:Second edition
Subjects:
See on Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009781238906719
Table of 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
  • Technical requirements
  • 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
  • Summary
  • Questions
  • Chapter 3: MVVM for Maintainability and Testability
  • Technical requirements
  • 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
  • Summary
  • Questions
  • Chapter 4: Advanced MVVM Concepts
  • Technical requirements
  • 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
  • Summary
  • Questions
  • Chapter 5: Exploring WinUI Controls
  • Technical requirements
  • 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
  • Summary
  • Questions
  • Chapter 6: Leveraging Data and Services
  • Technical requirements
  • 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
  • Summary
  • Questions
  • Part 2: Extending WinUI and Modernizing Applications
  • Chapter 7: Fluent Design System for Windows Applications
  • Technical requirements
  • 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
  • Summary
  • Questions
  • Chapter 8: Adding Windows Notifications to WinUI Applications
  • Technical requirements
  • 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
  • Summary
  • Questions
  • 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
  • Controls
  • 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
  • Summary
  • Questions
  • Chapter 10: Accelerating App Development with Template Studio
  • Technical requirements
  • 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
  • Summary
  • Questions
  • Part 3: Build and Deploy on Windows and Beyond
  • Chapter 11: Debugging WinUI Applications with Visual Studio
  • Technical requirements
  • 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
  • Summary
  • Questions
  • Chapter 12: Hosting a Blazor Application in WinUI
  • Technical requirements
  • 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
  • Summary
  • Questions
  • Chapter 13: Take Your App Cross-Platform with Uno Platform
  • Technical requirements
  • 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
  • Summary
  • Questions
  • Chapter 14: Packaging and Deploying WinUI Applications
  • Technical requirements
  • 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
  • Summary
  • Questions
  • Index
  • About Packt
  • Other Books You May Enjoy.