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.
WinUI 2 is a library of controls and styles currently available for use in any UWP app. It offers exciting, flexible, modern controls such as NavigationView and TeachingTip.
WinUI 3 is the next version of the WinUI framework, shipping later this year. It dramatically expands WinUI into a full UX framework, making WinUI available for all types of Windows apps – from Win32 to UWP – for use as the UI layer. Going forward, every Windows app will now be able to take advantage of its modern controls that work regardless of the Windows version that they are running on.
While WinUI 2 is only compatible with UWP XAML, WinUI 3 will work with every kind of Windows app! WinUI 3 can be used directly as the UI layer for Win32 and UWP apps, or it can be used to modernize a Win32 app's UI gradually, using XAML Islands to mix and match with the following technologies:
WinUI also serves as the basis for cross-platform technologies that provide great native Windows experiences. React Native for Windows, Xamarin.Forms, and the Uno platform harness the power of WinUI today - if you're currently using those platforms you're already using WinUI!
Use the table below to see how WinUI compares to your favorite technology.
|WinUI 3||UWP XAML & WinUI 2||WPF||WinForms||MFC|
|Windows app types supported||UWP and Win32||UWP||Win32||Win32||Win32|
|Windows versions supported||Windows 10 (1803+)||Windows 10 (1703+)||Windows XP or higher||Windows XP or higher||Windows XP or higher|
|Supported on all Windows device families||*|
|.NET 5 Support|
|Built-in Fluent Design controls|
|Built-in support for modern input
(e.g. touch, pen, gamepad*)
|Uses latest DirectX version for graphics performance|
|High performance data binding
* Coming to a future version of WinUI 3.
** Work in progress.
Energize your favorite native application with enhanced, intuitive experiences or start building that exciting app idea from scratch - WinUI is built for both new and existing Windows apps.
How do you want to use WinUI?
UWP apps are modern, flexible, and integrate easily with WinUI. WinUI 3 provides even more modernizations and improvements, including the following:
For detailed instructions on how to use WinUI in your UWP app, see:
WinUI can be used with Win32 apps in two different ways. Here's how:
Complete use: You can use WinUI 3 as the entire UI layer for your desktop app, replacing your current main UI framework. This method ensures that your entire app is modern and consistent in that each component of the app has the same rich functionality and capability.
WinUI 3 Preview 2 is now available, which lets you use WinUI to build a Win32 app. For instructions and details, see:Hybrid use: With Xaml Islands, you can modernize certain parts of your app with WinUI, allowing you to adopt WinUI at your own pace. You can host any built-in UWP control or custom-created control inside of your desktop app, along with UWP functionality such as WebView or modern input support. Xaml Islands allows you to upgrade your interface where it would be most impactful in your application.