Controls for Windows apps

In Windows app development, a control is a UI element that displays content or enables interaction. Controls are the building blocks of the user interface. A pattern is a recipe for combining several controls to make something new.

We provide 45+ controls for you to use, ranging from simple buttons to powerful data controls like the grid view. These controls are a part of the Fluent Design System and can help you create a bold, scalable UI that looks great on all devices and screen sizes.

The articles in this section provide design guidance and coding instructions for adding controls & patterns to your Windows app.


General instructions and code examples for adding and styling controls in XAML and C#.

Add controls and handle events
There are 3 key steps to adding controls to your app: Add a control to your app UI, set properties on the control, and add code to the control's event handlers so that it does something.

Styling controls
You can customize the appearance of your apps in many ways by using the XAML framework. Styles let you set control properties and reuse those settings for a consistent appearance across multiple controls.

Get WinUI

WinUI logo

Some controls are only available in WinUI, a NuGet package that contains new controls and UI features. To get it, see the WinUI overview and installation instructions.

Alphabetical index

Detailed information about specific controls and patterns.

Get the WinUI Gallery apps from the Microsoft Store to see these controls and the Fluent Design System in action. The WinUI 3 Gallery and WinUI 2 Gallery apps include interactive examples of most WinUI 3 and WinUI 2 controls, features, and functionality. The apps are an interactive companion to this website. When you have them installed, you can use links on individual control pages to launch the app and see the control in action.

  • Get the WinUI 3 Gallery and the WinUI 2 Gallery from the Microsoft Store.
  • Get the source code for both from GitHub (use the main branch for WinUI 3 and the winui2 branch for WinUI 2).

Additional controls

Additional controls for Windows development are available from companies such as Telerik, SyncFusion, DevExpress, Infragistics, ComponentOne, and ActiPro. These controls provide additional support for enterprise and .NET developers by augmenting the standard system controls with custom controls and services.