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...
Other Authors: | |
---|---|
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.