/awesome-winui

A collection of awesome resources for WinUI / Windows developers.

MIT LicenseMIT

Awesome WinUI

A collection of awesome resources for WinUI / Windows developers.

Awesome PRs Welcome last commit

We use Releases to alert of new content, add a Watch to Releases only to get regular updates of new content.

Contributions are always welcome! Please take a look at the contribution guidelines pages first.

Introduction

What is WinUI?

WinUI is a user interface layer that contains modern controls and styles for building Windows apps. As the native UI layer in Windows it embodies Fluent Design, giving each Windows app the polished feel that customers expect.

As of version 3.0 it has been decoupled from the underlying Windows development platforms such as WinForms, WPF and UWP.

What We Track

This list focuses on libraries, tutorials, books and other resources for building Windows application with WinUI. Older content can be found in the Archive folder.

Contents

General

  • WinUI - GitHub stars GitHub last commit Official documentation of WinUI. A demo app is also available.

  • Fluent Design System - Make your apps feel as though they were designed with every Windows device in mind—PCs, phones, Xbox One, HoloLens, and more. Find the documentation, tools, and samples you need to get your apps published to the Microsoft Store.

  • Microsoft Learn - Whether you're just starting or an experienced professional, Microsoft's hands-on approach helps you arrive at your goals faster, with more confidence and at your own pace.

  • UWP Community - The homepage for the unofficial Discord server.

  • Universal Windows Platform - Official documentation of Universal Windows Platform, from Microsoft.

  • Windows Forms - Official documentation of Windows Forms, from Microsoft.

  • Windows Presentation Foundation - Official documentation of Windows Presentation Foundation, from Microsoft.

  • Themes of .NET - Track overall themes and underlying epics and user stories planned for the next major version of .NET.

Libraries

  • Uno Platform - GitHub stars GitHub last commit The Uno Platform is a Universal Windows Platform Bridge that allows UWP-based code (C# and XAML) to run on iOS, Android, macOS, and WebAssembly.

  • Windows Community Toolkit - GitHub stars GitHub last commit The Windows Community Toolkit has been working alongside the WinUI team to also make sure the Toolkit works on WinUI 3! We're happy to announce that we're also shipping a preview of the toolkit that works on top of this WinUI 3 Preview 1 the same day!

  • Project Reunion - GitHub stars GitHub last commit Project Reunion is our vision for unifying and evolving the Windows developer platform to make it easier to build great apps that work across all the Windows 10 versions and devices people use.

  • Windows task snippets - GitHub stars GitHub last commit This repo collects snippets of ready-to-use code that accomplish small but useful tasks of interest to Universal Windows Platform (UWP) app developers. These snippets represent simple solutions to common problems, and simple recipes to help you implement new app features.

  • Windows Graph Controls - GitHub stars GitHub last commit This is a sub-repo for the Windows Community Toolkit focused on Microsoft Graph providing a set of Helpers and Controls for development on Windows 10 with .NET.

  • Legerity - GitHub stars GitHub last commit Legerity is a framework for speeding up the development of automated UI testing with Appium and .NET!

  • Template10.Validation - GitHub stars GitHub last commit These validation libraries provide UWP developers a comprehensive solution to data validation that solves problems in a realistic and usable way. The associated sample application demonstrates the use and syntax.

  • DeftSharp.Windows.Input - GitHub stars GitHub last commit Lightweight library designed to handle and manage keyboard/mouse input events in Windows UI applications.

  • Yugen Toolkit - GitHub stars GitHub last commit The Toolkit is a collection of helper functions, custom controls, and app services. It helps develop common task for UWP apps.

  • CodeMarkup for WinUI - GitHub stars GitHub last commit CodeMarkup for WinUI enables you to build user interfaces declaratively in C# code using fluent methods. With this library, you can create interfaces without the need for XAML.

  • Syncfusion WinUI - The Syncfusion WinUI toolkit includes feature-rich WinUI controls like DataGrid, Charts, TreeView, and more, that embodies Fluent Design for building modern and seamless Windows apps. [$]

  • Telerik UI for WinUI - Telerik UI for WinUI is an early experiment for the UI component suite, targeting WinUI 3.0. Its purpose is to make the development of modern and feature-rich applications faster and easier. [$]

Tooling

  • Windows Template Studio - GitHub stars GitHub last commit Windows Template Studio (WinTS) is a Visual Studio 2019 Extension that accelerates the creation of new Universal Windows Platform (UWP) and Windows Presentation Foundation (WPF .NET Core 3.1) apps using a wizard-based experience. The resulting project is well-formed, readable code that incorporates great development features while implementing proven patterns and best practices. Sprinkled throughout the generated code we have links Docs, Stack Overflow and blogs to provide useful insights. WinTS supports creating UWP apps in C# or VB.Net and WPF (.NET Core 3.1) apps in C#. Microsoft stopped funding the internal team who were working on Windows Template Studio. Matt Lacey, a frequent contributor, has forked it into two separate products: Template Studio for UWP and Template Studio for WPF. See Forking Windows Template Studio and Template Studio for WPF.

  • Template10 - GitHub stars GitHub last commit Template 10 is a set of Visual Studio project templates. They sling-shot developer productivity by getting ~80% of the boilerplate stuff delivered in the template - things like navigation, suspension, and even a Hamburger control.

  • Rapid XAML Toolkit - GitHub stars GitHub last commit This is a collection of tools for making it easier for developers to work with XAML (UWP, WPF, and Xamarin.Forms).

  • Fluent XAML Theme Editor - GitHub stars GitHub last commit This repo contains the full solution and source code to the Fluent XAML Theme Editor - a tool that helps demonstrate the flexibility of the Fluent Design System as well as supports the app development process by generating XAML markup for our ResourceDictionary framework used in Universal Windows Platform (UWP) applications.

  • Windows app bootstrap template - GitHub stars GitHub last commit A simple template repository you can use to fast track your new modern Windows app.

  • UWP Essentials - GitHub stars GitHub last commit The easiest way to set up Visual Studio for the ultimate UWP development experience.

  • Character Map UWP - A modern, native UWP replacement for the Win32 Character Map and Windows Font Viewer with flawless high DPI and touch support.

  • UWP Resources Gallery - This app aims to provide an interactive demo of common UWP resources such as the Segoe MDL2 icons, system colors and system brushes.

  • Visual Asset Generator - An app designed to make creating Icons and Visual Assets for UWP apps a breeze.

  • XAML Studio - XAML Studio, a Microsoft Garage project will help you rapidly prototype UWP XAML that can be easily copied into your app in Visual Studio. XAML Studio lets you preview your XAML code in real-time and interact with the result just like it was running in your own app!

Sample Apps

  • Universal Windows Platform (UWP) app samples - GitHub stars GitHub last commit This repo contains the samples that demonstrate the API usage patterns for the Universal Windows Platform (UWP) in the Windows Software Development Kit (SDK) for Windows 10. These code samples were created with the Universal Windows Platform templates available in Visual Studio, and are designed to run on desktop, mobile, and future devices that support the Universal Windows Platform.

  • WinUI Gallery - GitHub stars GitHub last commit Shows all of the XAML UI components in an interactive format. This app is the interactive companion to the Fluent Design Guidelines and shows the usage of the WinUI APIs.

  • Windows Composition Samples - GitHub stars GitHub last commit This is the place for the latest code samples, demos, and developer feedback around building beautiful and engaging Universal Windows Platform apps. This repo focuses on the platform-building blocks that make up the Fluent Design System, with emphasis on creating UI using APIs in the Windows.UI.Composition namespace. The code samples and demos in this repo are targeted at developers who are interested in experimenting, building, and providing feedback on the latest flighting Windows UI APIs.

  • MVVM Toolkit Samples - GitHub stars GitHub last commit The Microsoft.Toolkit.Mvvm package is a modern, fast, and modular MVVM library. It is built around the following principles: Platform and Runtime Independent, Simple to pick-up and use, À la carte, Reference Implementation.

  • XAML VanArsdel Inventory Sample - GitHub stars GitHub last commit This repo showcases a sample Windows 10 application (using the Universal Windows Platform) focused in Line of Business scenarios, showing how to use the latest Windows capabilities in Desktop applications. The sample is based around creating and managing customer, orders, and products for the fictitious company VanArsdel.

  • UWP Experiences - app samples - GitHub stars GitHub last commit The UWP App Experiences are beautiful, cross device, feature rich and functional app samples built to demonstrate realistic app scenarios on the UWP platform across desktop, Xbox, mobile, and more. Besides being open source on GitHub, each sample is published to the Windows Store for easier access for developers and each is accompanied with at least one blog post and short overview video.

  • Customers Orders Database sample - GitHub stars GitHub last commit A UWP (Universal Windows Platform) sample app showcasing features useful to enterprise developers, like Azure Active Directory (AAD) authentication, UI controls (including a data grid), Sqlite and SQL Azure database integration, Entity Framework, and cloud API services. The sample is based around creating and managing customer accounts, orders, and products for the fictitious company Contoso.

  • BuildCast Video Player UWP Sample - GitHub stars GitHub last commit BuildCast is an end-to-end sample built to showcase the Microsoft Fluent Design System as well as other capabilities of the Universal Windows Platform. It permits browsing, downloading and playback of select video podcasts including a sampling of the most popular ones from Channel 9 as well as some popular Windows tech enthusiast feeds. It has other features such as ink notes, bookmarks and remote playback. This sample was initially shown and discussed at the 2017 Build conference during the Build Amazing Apps with Fluent Design talk.

  • RSS Reader sample - GitHub stars GitHub last commit A mini-app for retrieving RSS feeds and viewing articles, showing MVVM and design best practices. Users can specify the URL of a feed, view articles in a WebView control, and save favorite articles to local storage.

  • Fluent Store - GitHub stars GitHub last commit A Fluent, native, and open-source alternative to the Microsoft Store app.

  • Lunch Scheduler app - GitHub stars GitHub last commit Lunch Scheduler is a Universal Windows Platform (UWP) sample that schedules lunches with your friends and coworkers. You can invite friends to a restaurant of interest and the app takes care of the lunch management for all involved parties.

  • Photo Editor C++/WinRT sample - GitHub stars GitHub last commit The Photo Editor application is a Universal Windows Platform (UWP) sample that showcases development with the C++/WinRT language projection. The sample application allows you to retrieve photos from the Pictures library, and then edit the selected image with assorted photo effects. In the sample's source code, you'll see a number of common practices—such as data binding, and asynchronous actions and operations—performed using the C++/WinRT projection.

  • Family Notes sample - GitHub stars GitHub last commit A mini-app that explores different input modalities and scenarios of user awareness. A bulletin-board app that allows family members to leave notes for each other on a common PC/tablet just like they would on a bulletin board. Using text, speech, ink, or pictures, a user can create a note and tag it for another user. Later when that other user approaches the PC/Tablet, the app uses imaging APIs and the Microsoft Cognitive Services (Face API) to detect their presence and display the notes that have been left for them, effectively filtering based on facial recognition. While the app is open, users can naturally interact with it using speech (“Add note for Bob”). If the app isn’t open, a user can easily launch it and interact with it using Cortana.

  • VanArsdel UWP Sample - GitHub stars GitHub last commit VanArsdel is an end-to-end sample built to showcase the Microsoft Fluent Design System as well as other capabilities of the Universal Windows Platform. It allows the user to browse the virtual "store" of lamps that can be organized and decorated.

  • Uno Samples - GitHub stars GitHub last commit This repository provides simple to-the-point samples for features of the Uno platform.

  • Coloring Book sample - GitHub stars GitHub last commit A mini-app that demonstrates the versatility of Windows Ink (including the Windows Ink Toolbar) and radial controller (for Wheel devices such as the Surface Dial) features.

  • Photo Lab sample - GitHub stars GitHub last commit A mini-app for viewing and editing image files, demonstrating XAML layout, data binding, and UI customization features for Universal Windows Platform (UWP) apps.

  • UWP Demo for Insider Dev Tour 2019 - GitHub stars GitHub last commit This repo contains a demo UWP app that is built for demostrating rich controls and libraries from Windows UI Library and Windows Community Toolkit.

  • Hue Lights sample - GitHub stars GitHub last commit A mini-app that explores integrating Windows features with intelligent home automation. Specifically, it shows how you can use Cortana and Bluetooth Low Energy (Bluetooth LE) to create an interactive experience with the Phillips Hue Lights (a Wi-Fi enabled lighting system).

  • Ch9 - GitHub stars GitHub last commit Ch9 is a demo app which showcases the power of using WinUI and Uno Platform for developing single-codebase, cross-platform applications for Windows, iOS, Android and WebAssembly. It uses the publicly-available video feed from Microsoft's Channel 9 for content. The app is also available in App Stores (Microsoft, Apple, Google).

  • Quiz Game Sample - GitHub stars GitHub last commit A pub-style trivia game sample for the Universal Windows Platform (UWP) demonstrating the Remote System Session API (part of the Project Rome platform).

  • Contoso Insurance UWP App - GitHub stars GitHub last commit This UWP app was designed to showcase how Fluent Design, Windows Timeline and Adaptive Cards work together on the Windows Developer Day 2018.

  • UWP IEXCloud Sample - GitHub stars GitHub last commit An attempt to build a representative and useful WinUI reference app. The announcement article can be found here.

Education

Education are listed by newest date first.

  • Creating Cross-Platform C# Applications with Uno Platform - Matt Lacey, Marcel Alexander Wagner, Packt Publishing - Developers are increasingly being asked to build native applications that run on multiple operating systems and in the browser. In the past, this would have meant learning new technologies and making multiple copies of an application. But the Uno Platform allows you to use tools, languages, and APIs you already know from building Windows apps to develop apps that can also run on other platforms. This book will help you to create customer-facing as well as line-of-business apps that can be used on the device, browser, or operating system of your choice. This practical guide enables developers to put their C# and XAML knowledge to work by writing cross-platform apps using the Uno Platform. Packed with tips and practical examples, this book will help you to build applications for common scenarios. You'll begin by learning about the Uno Platform through step-by-step explanations of essential concepts, before moving on to creating cross-platform apps for different lines of business. Throughout this book, you'll work with examples that will teach you how to combine your existing knowledge to manage common development environments and implement frequently needed functionality. By the end of this Uno development book, you will have learned how to write your own cross-platform apps with the Uno Platform and use additional tools and libraries to speed up your app development process.
  • Learn WinUI 3.0 - Alvin Ashcraft, Packt Publishing - 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.
  • Introduction to Uno Platform - (August 2020) - Christian Findlay, Udemy - Build Single-Source WebAssembly, Mobile and Desktop Apps with C#.

Channels

Events

  • .NET Conf - Microsoft's virtual conference for the launch of new versions of .NET.

  • Microsoft Build - Microsoft's premiere development conference.

  • Microsoft Ignite - Microsoft's largest conference with a focus on enterprise.

  • UnoConf - Annual conference by and for the Uno Platform.

  • .NET Frontend Day - A full day online, with focus on building frontend applications using .NET!

Podcasts

  • .NET Rocks - .NET Rocks! is a weekly talk show for anyone interested in programming on the Microsoft .NET platform. The shows range from introductory information to hardcore geekiness.

  • Azure DevOps Podcast - Message from Jeffrey Palermo: Howdy. Welcome to my podcast. I hope it helps you ship software more quickly and more reliably. Through the topics and guests, I hope your life is made easier. Let me know what topics would be helpful for you.

  • Dev Talk - From Kerry Lothrop: My main focus is on .NET, from the cloud backend to the desktop to embedded to cross-platform mobile development with Xamarin. Enjoy!

  • The .NET Core Show - The .NET Core Podcast is the only podcast devoted to Microsoft's .NET technologies, spreading knowledge on what you can build with it, and what the community are building. This podcast is created by Jamie Taylor with contributions from developers in the .NET community.

Community Call

All .NET Community Standups are listed on Microsoft .NET Community Standups.

WinUI Community Call Occurs the 3rd Wednesday of every month at 9:00AM PDT

Blogs