Skip to content

microsoft/microsoft-ui-xaml

Repository files navigation

Windows UI Library

Follow WinUI on Twitter

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 that provides official native Microsoft UI controls and features for Windows UWP apps. WinUI 2 can be used in any Windows 10 UWP XAML app, or in a Xamarin.Forms app running on Windows 10 using native view embedding.

WinUI 3 is the next generation of the WinUI framework. It dramatically expands WinUI into a full UX framework, making WinUI available for all Desktop Windows apps for use as the UI layer.

WinUI Community Calls

The WinUI community call is your monthly opportunity to learn about native UX development for Windows with WinUI.

In these calls we’ll discuss the WinUI roadmap, our status and your feedback.

You can watch them online here on YouTube at the Windows Developer channel.

Using WinUI 3

You can build new Windows apps using WinUI 3, which ships as a part of the Windows App SDK. The latest available stable release is the Windows App SDK 1.4 (previously called Project Reunion). With this release, you can ship production Desktop apps to the Microsoft Store.

See the installation instructions, and guidelines on creating your first WinUI 3 app.

The source code for WinUI 3 can be found here.

Using WinUI 2

You can download and use WinUI packages in your app using the NuGet package manager: see the Getting Started with the Windows UI Library page for more information.

The source code for WinUI 2 can be found here.

Packages

NuGet Package Build Status Latest Versions Documentation
Microsoft.UI.Xaml
Controls and Fluent Design for UWP apps
Build Status latest stable version
latest prerelease version
2.8 release
Microsoft.UI.Xaml.Core.Direct
Low-level APIs for middleware components
latest prerelease version 2.0 prerelease

You can also build a WinUI package yourself from source. See Contributing to the Windows UI Library for more information on building and contributing to WinUI.

Documentation

To find resources for Windows UI 2.8, like the Figma design toolkit, Segoe UI Variable Font, and samples, visit Design toolkits and samples for Windows apps

If you find any issues with the Windows UI toolkit, you can file a bug here

WinUI usage documentation:
https://docs.microsoft.com/windows/apps/winui/

WinUI 2 Release notes:
https://docs.microsoft.com/windows/apps/winui/winui2/release-notes/

WinUI 3 Release notes: https://docs.microsoft.com/windows/apps/windows-app-sdk/stable-channel

Sample code:
To view the WinUI controls in an interactive format, check out the Xaml Controls Gallery (for WinUI 2) and the WinUI 3 Controls Gallery:

WinUI also has its own website where you can learn more about it.

Contributing to WinUI

The WinUI team welcomes your feedback!

To understand how we handle incoming feature requests and bugs, please see our contribution handling guidelines.

For information on how to contribute, please see Contributing to the Windows UI Library.

For guidelines on making an impact on WinUI through non-code contributions, please see Contributing ideas, feedback, and requests.

WinUI features

Benefits

WinUI 2 provides some useful benefits when building apps for Windows 10:

  1. Helps you stay up to date
    WinUI helps keep your app up to date with the latest versions of key controls and features of UWP XAML and the Fluent Design System

  2. Provides backward compatibility
    WinUI is backward-compatible with a wide range of Windows 10 versions: you can start building and shipping apps with new XAML features immediately as soon as they're released, even if your users aren't on the latest version of Windows 10

  3. Makes it simpler to build version adaptive apps
    You don't need version checks or conditional XAML markup to use WinUI controls or features: WinUI automatically adapts to the user's OS version

Version support

The Microsoft.UI.Xaml 2.8 NuGet package requires your project to have TargetPlatformVersion >= 10.0.18362.0 and TargetPlatformMinVersion >= 10.0.17763.0 when building.

Your app's users can be on any of the following supported Windows 10 versions:

  • Windows 10 1809 - Build 17763 (Creators Update aka "Redstone 5") and newer (including Windows Insider Previews)

Some features may have a reduced or slightly different user experience on older versions.

For WinUI 3, your app's users must be on Windows 10 1809 - Build 17763 or newer (including Windows Insider Previews).

Roadmap

For info on the WinUI release schedule and high level plans please see the Windows UI Library Roadmap.

WinUI 3 is a part of the Windows App SDK family

The Windows App SDK 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. The Windows App SDK combines the powers of Win32 native applications alongside modern API usage techniques, so your apps light up everywhere your users are.

Other Windows App SDK components are: WebView2, MSIX (MSIX-Core), C++/WinRT, Rust/WinRT, and C#/WinRT. If you'd like to learn more and contribute to Windows App SDK, or have UWP/app model related questions, visit our Github repo.

For a detailed look at the features we're planning on releasing in WinAppSDK check out the Windows App SDK feature roadmap.

Data/Telemetry

This project collects usage data and sends it to Microsoft to help improve our products and services. Note, however, that no data collection is performed when using your private builds.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct.

For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.