Awesome WinUI
A collection of awesome resources for WinUI / Windows developers.
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.
Upcoming Events
WinUI July Community Call (July 15th, 2020 9:00 AM PDT)
This is the July edition of the monthly WinUI Community Call where we share the latest updates on our platform and answer all of your questions.
UnoConf 2020 (August 12, 2020)
UnoConf 2020 will be an online conference for the complete Uno community – engineering team, influencers, code contributors as well as those wishing to learn more about it.
UnoConf 2020 will bring together speakers from Microsoft, our core team and community for a ½ day online event. Stay tuned for the agenda as due to the pandemic we are forced to reshuffle our originally published agenda.
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, articles, tutorials, books and other resources for building Windows application with WinUI.
Contents
General
-
WinUI -
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.
Libraries
-
Windows Community Toolkit -
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!
-
Uno Platform -
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.
-
Project Reunion -
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 -
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.
-
Legerity -
Legerity is a framework for speeding up the development of automated UI testing with Appium and .NET!
-
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 -
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#.
-
Fluent XAML Theme Editor -
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.
-
Rapid XAML Toolkit -
This is a collection of tools for making it easier for developers to work with XAML (UWP, WPF, and Xamarin.Forms).
-
UWP Essentials -
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.
-
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 -
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.
-
Windows Composition Samples -
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.
-
XAML Controls Gallery -
Shows all of the XAML controls in an interactive format. This app is the interactive companion to the Fluent Design Guidelines and shows the usage of both UWP Xaml APIs and Windows UI Toolkit APIs.
-
UWP Experiences - app samples -
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.
-
XAML VanArsdel Inventory Sample -
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.
-
BuildCast Video Player UWP Sample -
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.
-
Customers Orders Database sample -
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.
-
Lunch Scheduler app -
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.
-
Coloring Book sample -
(updated to WinUI 2.4 - May 2020) 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.
-
VanArsdel UWP Sample -
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.
-
UWP Demo for Insider Dev Tour 2019 -
This repo contains a demo UWP app that is built for demostrating rich controls and libraries from Windows UI Library and Windows Community Toolkit.
-
Contoso Insurance UWP App -
This UWP app was designed to showcase how Fluent Design, Windows Timeline and Adaptive Cards work together on the Windows Developer Day 2018.
-
Ch9 -
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).
-
UWP IEXCloud Sample -
An attempt to build a representative and useful WinUI reference app. The announcement article can be found here.
Books
Books are listed by newest date first.
- Learn WinUI 3.0
- (Fall 2020) - Alvin Ashcraft, Packt Publishing - Early announcement.
Events
Events are listed by newest date first.
-
Community Call, June 2020 - (June 17, 2020 9:00AM PDT) - Status Update on WinUI. Community Spotlight: Arlo to speak about the UWP Community Discord Launch 2020 effort. Ecosystem Spotlight: Telerik - Developer Advocate Sam to speak all about Telerik and demo some of their exciting features.
-
Community Call, May 2020 - (May 20, 2020 9:00AM PDT) - WinUI 3 Preview 1 capabilities, limitations, and roadmap updates w/ @ryandemopoulos. Quick mention of Windows Community Toolkit updates w/ @michael-hawker. Deep-dive: Preview 1 demo w/ @marb2000. Partner Spotlight: @dotMorten of Esri. Partner Spotlight: Uno Platform.
-
Microsoft Build - (May 19 - 20, 2020) - 48-hours of non-stop developer goodness generates amazing content—and you helped bring it to life.
-
Community Call, April 2020 - (April 15, 2020 9:00AM PDT) - Status Report for WinUI 3. We will be welcoming Ginny Caughey, who’ll be talking about her modernization plan that includes WPF in the future. So far, she’s used our Alpha to port over a UWP app to a WinUI 3 app in about an hour(!). @michael-hawker will be joining us to introduce the WCT, talk about how the relationship between the WCT and WinUI, and demoing exciting controls from the WCT. WinUI 2.4: HierarchicalNavigationView demo. WinUI 2.4: ProgressRing demo. WinUI 2.4: Radial Gradient Brush demo.
-
Community Call, March 2020 - (March 18, 2020 9:00AM PDT) - Quick intro/recap on WinUI. Community Spotlight: TabView updates & sample demo with Marcel (@chingucoding) and Steven (@stmoy). Brief update on this month's progress Deep-dive with @ryandemopoulos: Demystifying how WinUI 3 relates to Desktop Apps, Win32, UWP, WinUI 2, and other frameworks like Xamarin.Forms and React Native.
-
Community Call, February 2020 - (February 19, 2020 9:00AM PDT) - We'll give a progress update on WinUI Desktop - Miguel (@marb2000) will be joining us in the studio to talk about topics like win32 support, desktop windowing, app model changes so that WinUI isn't dependent on UWP, etc.
-
Microsoft 365 Developer Day - (February 11th, 2020 8:30AM PDT) - Focused on dual-screen experiences. The keynote and sessions will show how to: Get the most out of these SDKs and emulators, Use cross platform tools and languages, Design apps for dual-screen devices, Build dual-screen experiences on the web, Connect your apps with Microsoft 365.
-
Community Call, January 2020 - (January 22, 2020 9:00AM PDT) - WinUI 2.3 release, 2.4 preview WinUI 3.0 Alpha status update. New feature discussions / demos - we'll demo some new WinUI 2 and 3 stuff, including some app samples, ProgressRing updates and the Chromium WebView control coming in WinUI 3
Podcasts
Podcasts are listed by newest date first.
-
Building Apps using Uno with Kenzie Whalen - (May 28, 2020) - .NET Rocks! - What's your cross-platform development solution? Carl and Richard talk to Kenzie Whalen about the Uno Platform, where you write C# and XAML for Windows and are able to deploy via Xamarin to iOS and Android... and to browsers via WebAssembly also! The conversation digs into how UWP is evolving, and the approaches you can take to keep your codebase as common as possible between all the platforms. But there are always variations from platform-to-platform. Kenzie also talks about how some of the new hardware, like Surface Duo, will impact development - more cool stuff is coming!
-
Ryan Demopoulos on WinUI - (March 16, 2020) - The Azure DevOps Podcast - In this episode, Jeffrey and Ryan discuss WinUI in-depth. Ryan explains what it is, the changes and developments he has seen (and been a part of) over the course of his career, where he sees it heading in 10 years time, details of the release roadmap, cross-platform development, what the team is currently working on — and a whole lot more!
-
Client-Side Development in 2020 with Brian Lagunas - (January 30, 2020) - .NET Rocks! - It's 2020 - how do you build client-side applications? Carl and Richard talk to Brian Lagunas about his work in client-side development, largely around XAML (don't worry WinForms, we still love you!) - WPF, UWP and Xamarin.Forms. Brian leads the Prism open-source project that helps to build XAML-based applications, specifically WPF and Xamarin.Forms. The conversation digs into the problems around UWP and even a mention of Silverlight - and then the challenges of the other client-side platform, mobile!
-
XAML Tooling with Dmitry Lyalin - (January 9, 2020) - .NET Rocks! - How do you write XAML? Carl and Richard chat with Dmitry Lyalin about Microsoft's on-going efforts to make coding in XAML faster, easier and more reliable. Dmitry starts out talking about how there are different dialects of XAML, including WPF, UWP, Xamarin Forms and more - although there are concerted efforts to keep them more in sync. And that helps with tooling also! Dmitry dives into Blend, XAML Designer and the power of coding XAML directly with IntelliCode, hot-reload and more!
Screencasts
Screencasts are listed by newest date first.
-
Building apps for 1 billion Windows 10 Desktops and expanding reach even further with Windows Virtual Desktop - (May 20, 2020) - Learn how to take advantage of incredible Windows technologies like WinUI3 and MSIX to target the 1 billion+ in-market Windows 10 devices, and to reach billions of other devices via Windows Virtual Desktop.
-
Fluent Design System - Building apps that feel natural on every device - (May 20, 2020) - Leverage Microsoft 365 UI libraries to efficiently build your own productivity UX across devices and platforms using Fluent UI React, React Native, Mobile, and WinUI open source control libraries. Get a sneak peek of our plans for the Fluent Design System.
-
WebView2: Bringing the best of the web to your native apps - (May 20, 2020) - Developers wanting to maximize code reusability in a multi-platform multi-device world are betting more and more on web technologies. WebView2 enables hosting web content in native applications while using the Microsoft Edge (Chromium) rendering engine. In this session, you'll learn about WebView2 and its roadmap, as well as how to get started using it in your application, including Win32 C/C++, .NET (WPF/WinForms), or WinUI 3.0 apps. Second Session also available.
-
Everything you need to know about WinUI - (May 20, 2020) - WinUI is Microsoft’s UI framework of the future for every app on Windows, designed to work in both Universal (UWP) and Desktop (Win32) apps. Come learn how WinUI provides a path forward for every Windows Developer, whether you’re using WinForms, WPF, MFC, native or .NET, and more! Replays Session B and Session 3 also available.
-
If I'm writing a new Windows client app today, what technology should I use? | One Dev Question - (April 9, 2020) - Some great insight and useful tips for building an app today from Kevin Gallo.
-
Is Microsoft promoting UWP, Win32, or Web? | One Dev Question - (April 7, 2020) - So UWP? Or Win32? Or the Web? What should you use for your next app? Kevin Gallo, @kevintgallo, explains in today's One Dev Question.
Articles
Articles are listed by newest date first.
-
Highlighting dates in UWP CalendarView - (July 1, 2020) - I have posted about UWP CalendarView control a while back. The previous post summarized how to customize calendar days while they are being assigned. A new StackOverflow question has prompted me to revisit this to show how already displayed dates can be adjusted as well.
-
Announcing: Rapid XAML Toolkit release 0.10 - (June 30, 2020) - Yes, 0.10 means it's getting excitingly close to a full 1.0 release and the removal of the preview tag. Wider events and that some of what I'm trying to do with the toolkit has turned out to be much, much harder than I originally expected and means it's taking longer than I hoped but progress is being made.
-
Future-proofing .NET application development with the Uno Platform - (June 30, 2020) - With support for WinUI 3.0, the cross-platform Uno development environment is an important alternative to Xamarin
-
What is Project Reunion? - (June 30, 2020) - Project Reunion is a set of libraries, frameworks, components, and tools that you can use in your apps to access powerful Windows platform functionality from all kinds of apps on many versions of Windows. Project Reunion combines the powers of Win32 native applications alongside modern API usage techniques, so your apps light up everywhere your users are.
-
Windows UI Testing With Legerity - (June 29, 2020) - Testing at the application’s UI level is often an afterthought for most projects. These tests usually put your application under the testing of how it would be used by a physical user.
-
UWP Community // Launch 2020 - (June 9, 2020) - An annual event hosted by the UWP Community Discord server, where developers in the community collaborate on and Launch their new and refreshed Windows 10 apps.
-
Help us improve WPF and UWP XAML designer - (May 28, 2020) - We would like to make your experience developing WPF and UWP applications in Visual Studio better!
-
Microsoft brings WinUI to desktop apps: It's a landmark for Windows development, but it has taken far too long - (May 26, 2020) - The look and feel of UWP without all the baggage.
-
Project Reunion: Microsoft's unified app strategy is still missing one piece - (May 26, 2020) - At last week's virtual Build 2020, Microsoft showed off its vision for Project Reunion, a new API that combines Win32 and the Universal Windows Platform. It's still missing the most important piece, however.
-
Project Reunion: An End to Microsoft’s UI Madness? - (May 22, 2020) - After years of confusion, Windows development is about to improve… slowly.
-
With Project Reunion Microsoft is Attempting to Unify Win32 and UWP APIs - (May 22, 2020) - As the following picture clarifies, with Project Reunion Microsoft is working to build new APIs on top of existing Win32 and UWP APIs to provide a common API layer independent from the underlying OS. Microsoft will distribute the new API as independent packages that can be bundled along with apps and used on a variety of Windows versions.
-
Microsoft Build 2020: Uno Platform + WinUI = Future of Cross Platform Apps - (May 20, 2020) - I’ve been a long time supporter of the work that the team at Uno Platform have been doing. The announcement today of v3.0 of the Uno Platform comes hot on the heals of releases 2.3 and 2.4 that introduced AndroidX and MacOS support. This isn’t just any old announcement, v3 aligns the Uno Platform with the preview of WinUI 3.
-
Improvements to XAML tooling in Visual Studio 2019 version 16.7 Preview 1 - (May 20, 2020) - Hello once again from the XAML tooling team in Visual Studio. Given this week’s many new and exciting releases at Microsoft Build 2020 I want to take this opportunity to recap what’s new for those building WPF or UWP applications, and where applicable, Xamarin.Forms.
-
Announcing Uno Platform 3.0 – Support for WinUI 3.0 Preview 1 - (May 19, 2020) - Today, the Uno Platform is adding support for WinUI 3.0 Preview, alongside WinUI 2/UWP and later. This allows applications to use newer APIs from Microsoft and create cross platforms apps. We’ve worked closely together with the WinUI team in order to be able to bring you Uno Platform 3.0 release at the same time WinUI 3.0 Preview 1 is being announced at Microsoft Build 2020 conference.
-
Developing for all 1 billion Windows 10 devices and beyond - (May 19, 2020) - Today, I will have the privilege of sharing how developers can build apps for modern work using Microsoft 365 and Windows platforms.
-
Introducing Telerik UI for WinUI Preview - (May 19, 2020) - Microsoft just announced the availability of WinUI 3.0 Preview on Build 2020. We are adding to that the announcement of the release of Telerik UI for WinUI Preview.
-
Introducing WinUI 3 Preview 1 - (May 19, 2020) - Today at Microsoft Build 2020 the WinUI team is excited to announce the latest version of WinUI 3 available for public preview: WinUI 3 Preview 1. This preview expands the world of WinUI to an even wider audience of developers – the previously-released WinUI 3 Alpha was only available to UWP app developers, but Preview 1 now enables WinUI usage in Desktop (Win32) apps as well!
-
Project Reunion Is Microsoft’s New Attempt at Unifying Windows 10 App Development - (May 19, 2020) - At Build 2020, Microsoft is introducing a new vision for unifying app development for Windows 10. The company’s latest attempt at unifying the app development experience for Windows 10 is called Project Reunion.
-
UWP, WinUI and Uno Platform get Prism support thanks to Uno team OSS Contribution - (April 27, 2020) - We are pleased to announce that Uno Platform team has provided the initial support for the Prism library.
-
WinUI NumberBox Control - (March 27, 2020) - If you write business apps, there are a lot of controls for data input: TextBox, CheckBox, ComboBox, DatePicker, ToggleSwitch, TimePicker, RadioButton, Slider, etc. I always wondered why there was no NumberBox. Numeric input is very common so it needs its own control for it. Luckily there is the Windows UI Library (WinUI), an open source project from Microsoft. I proposed the NumberBox last year and the team did a great job implementing it. It is released in version 2.3 and most of the issues are now solved. Time for a blog post showing of its features.
-
Building Modern & Performant Desktop Apps—Is WinUI 3.0 the Way to Go? - (March 23, 2020) - WinUI 3.0 is the hot new framework for desktop application development. In this post we’ll try to answer the questions “What is WinUI 3.0?”, “How different it is from WPF, UWP and WinForms?” and ultimately “What is the best framework for developing desktop applications?”
-
Window and Application API Spec - (March 16, 2020) - This spec describes updates to the XAML Window and Application APIs to accommodate this move to support Desktop (win32) apps.
-
Microsoft Emulator and Windows 10X Emulator Image (Preview) build 19578 available now! - (March 10, 2020) - Today we released new versions of both the Microsoft Emulator and the Windows 10X Emulator Image (Preview) to the Microsoft Store.
-
'Developers have lost hope Microsoft will do the right thing'... Redmond urged to make WinUI cross-platform - (February 28, 2020) - Microsoft's roadmap for developing Windows applications is opposed by some programmers who want to see a cross-platform solution, rather than just being Windows-only.
-
Calling WinUI from Blazor App Hosted in WebView2 - (February 19, 2020) - But can you also call from the hosted Blazor app into your WinUI app? Of course you can. To show you how it works, I’ve extended the application from the previous blog post.
-
Hosting a Blazor App in WinUI 3 with WebView2 and call a Blazor Component Method from WinUI - (February 18, 2020) - I thought I give WebView2 a try, and hey, why not trying to host a web app in WebView2 that is built with my favorite Single Page Application (SPA) framework: Blazor! But just hosting would be easy. I want to call a method in the Blazor App from my WinUI app.
-
Develop apps for Windows 10X dual-screen devices - (February 11, 2020) - Download and install the Microsoft Emulator and tools to start developing and testing your apps for Windows 10X.
-
Microsoft shows off how containerized apps will work in Windows 10X - (February 11, 2020) - Microsoft is delivering its promised Windows 10X emulator and SDK, plus a refresh of its Android-based Duo SDK as its next milestones along its dual-screen device path.
-
Advertising networks for UWP apps - (February 4, 2020) - Microsoft, unfortunately, threw in the proverbial towel with its Ad Monetization platform for UWP apps. While we are waiting for a more official and detailed statement and suggested transition path, what are the alternative advertising networks available for UWP we can use?
-
Modern XAML Development - (February 4, 2020) - Today (at the time of posting) I'm talking in Stokholm about Modern XAML Development. Here for your simple consumption are links to all the things I talked about, demonstrated or otherwise mentioned. Slides are also available.
-
Surface Duo – WinUI TwoPaneView implementation via Uno Platform - (February 3, 2020) - Uno Platform is in the position to be able to use the controls from WinUI (Our #WinUIEverywhere vision), and Microsoft is making development in the open for such devices in the form of the TwoPaneView control which allows us to experiment with it early and often.
-
Usability Matters for the Surface Neo and the Surface Duo - (January 23, 2020) - Before the new surface devices arrive and trying to avoid the hype, in this post, I want to use the structure and pointers from the book (Usability Matters) to highlight important areas about which to think.
-
Announcing dual-screen preview SDKs and Microsoft 365 Developer Day - (January 22, 2020) - In November, we shared our vision for dual-screen devices and how this new device category will help people get more done on smaller and more mobile form factors. Today, we are excited to give you an update on how you can get started and optimize for dual-screen devices.