/microsoft-ui-xaml

Backward-compatible versions of Windows UI features including UWP XAML controls, and Fluent styles and materials.

MIT LicenseMIT

Windows UI Library

The Windows UI Library (WinUI) provides backward-compatible implementations of the default Microsoft UWP XAML UI platform for Windows 10.

It can be easily used with any standard Windows 10 UWP XAML app, or a Xamarin.Forms app running on Windows 10 using native view embedding.

A prerelease preview of the WinUI Library is available via NuGet packages, and we are working toward making it open source.

The WinUI Library provides a few key benefits when building apps for Windows 10:

  1. Helps you stay up to date with the latest versions of key controls and features of XAML and the Fluent Design System
  2. Lets you start building and shipping apps with new UWP XAML features immediately
    • It's backward-compatible with a wider range of Windows 10 versions, so you don't have to wait for your users to update their OS before they can run your app with the latest features
  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: they automatically adapt to the user's OS version

Getting started

Please read the Getting Started with the Windows UI Library page for more detailed information about using the WinUI Library.

Documentation

Documentation for the library is available here:

https://docs.microsoft.com/uwp/toolkits/winui

Sample App

A sample app that provides an overview of the XAML UI framework, including the WinUI Library, is available on GitHub.

The app is also available for download from the Microsoft Store: Xaml Controls Gallery.

Nuget Packages

NuGet is the standard package manager built into Visual Studio.

This repo provides information and issue tracking for the following NuGet packages:

NuGet Package Name Description
Microsoft.UI.Xaml Controls and features for building apps for Windows 10
Microsoft.UI.Xaml.Core.Direct Low-level APIs that can enable better performance when creating middleware components. Not intended or required for general application use

Supported OS versions

  • Windows Insider Preview (17135+)
  • April 2018 Update (17134)
  • Fall Creators Update (16299)
  • Creators Update (15063)
  • Anniversary Update (14393)

Note some features may have a reduced or slightly different user experience on older versions, particularly on builds before 15063. This should not impact overall usability.

Features

The prerelease preview packages contain the following features. Note this is not an exhaustive list.

Fluent Design Elements

Controls

Preview Features

These are early prerelease features and controls that we are still working on.

They will be available in prerelease NuGet packages but not in the stable package versions until they are ready. They are subject to change without notice and may be removed.

Middleware Support APIs

  • XamlDirect and related APIs to improve performance for middleware components

Feedback and Requests

Please use GitHub Issues for bug reports and feature requests.

For feature requests, please also vote or create en entry on our Uservoice feedback site.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

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.