Controls for Windows apps

May 29, 2026 · View on GitHub

Controls are the UI elements that make up your Windows app—buttons, text fields, lists, pickers, and more. A control displays content or lets users interact with your app. A pattern combines multiple controls into a reusable recipe for common scenarios like forms or list-detail layouts.

Windows provides over 45 ready-to-use controls, all built on the Fluent Design System. From simple toggles to rich data views like grid and list, these controls help you build interfaces that are visually polished, accessible, and responsive across devices.

Browse the articles in this section for design guidance, code examples, and best practices for each control and pattern.

Getting started

To learn how to add controls to your app and wire up event handlers, see Add controls and handle events. To customize control appearance with reusable XAML styles, see Styling controls.

Controls

The following table lists the Windows app controls available in WinUI, with links to their documentation.

Basic input

ImageControlDescription
ButtonsButtonsA control that responds to user input and raises a Click event. Includes button, drop-down button, split button, toggle button, and more.
Check boxesCheck boxesA control that a user can select or clear.
Combo boxesCombo boxesA drop-down list of items a user can select from.
HyperlinksHyperlinksA button that appears as hyperlink text, and can navigate to a URI or handle a Click event.
Radio buttonsRadio buttonsA control that allows a user to select a single option from a group of options.
Rating controlRating controlRate something 1 to 5 stars.
SlidersSlidersA control that lets the user select from a range of values by moving a Thumb control along a track.
Toggle switchesToggle switchesA switch that can be toggled between 2 states.

Collections

ImageControlDescription
Items viewItems viewA control that presents a collection of items using various layouts.
List view and grid viewList view and grid viewControls that present a collection of items in a vertical list or in rows and columns.
Flip viewFlip viewPresents a collection of items that the user can flip through, one item at a time.
Pips pagerPips pagerA control to let the user navigate through a paginated collection when the page numbers do not need to be visually known.
Tree viewTree viewA hierarchical list pattern with expanding and collapsing nodes that contain nested items.
Items repeaterItems repeaterA flexible, primitive control for data-driven layouts.
SwipeSwipeTouch gesture for quick menu actions on items.
Pull-to-refreshPull-to-refreshProvides the ability to pull on a collection of items in a list/grid to refresh the contents of the collection.

Dialogs and flyouts

ImageControlDescription
DialogsDialogsA dialog box that can be customized to contain any XAML content.
FlyoutsFlyoutsShows contextual information and enables user interaction.
Teaching tipTeaching tipA content-rich flyout for guiding users and enabling teaching moments.

Forms

ImageControlDescription
FormsA pattern for collecting and submitting user input using a combination of input controls and labels.

Media, graphics, and shapes

ImageControlDescription
IconsIconsRepresent icon controls that use different image types as content.
Animated iconsAnimated iconsAn element that displays and controls an icon that animates when the user interacts with the control.
Images and image brushesImages and image brushesA control to display image content.
Media playbackMedia playbackA control to display video and image content.
ShapesShapesDraw shapes such as ellipses, rectangles, and polygons.

Note

Inking controls (InkCanvas, InkToolbar): These UWP controls are not available in the stable WinUI 3 channel. InkCanvas is available as an experimental API (introduced in Windows App SDK 2.0 Experimental 1). For current status and alternatives, see Known control gaps.

ImageControlDescription
Menus and context menusMenus and context menusShows a contextual list of simple commands or options.
Command barCommand barA toolbar for displaying application-specific commands that handles layout and resizing of its contents.
Command bar flyoutCommand bar flyoutA mini-toolbar displaying proactive commands, and an optional menu of commands.
Menu flyout and menu barMenu flyout and menu barA classic menu, allowing the display of MenuItems containing MenuFlyoutItems.
ImageControlDescription
Breadcrumb barBreadcrumb barShows the trail of navigation taken to the current location.
List/detailsA pattern that displays a list of items alongside the details of the currently selected item.
Navigation viewNavigation viewCommon vertical layout for top-level areas of your app via a collapsible navigation menu.
Screenshot of the Pivot controlPivotPresents information from different sources in a tabbed view.
Selector barSelector barPresents information from a small set of different sources. The user can pick one of them.
Tab viewTab viewA control that displays a collection of tabs that can be used to display several documents.

People

ImageControlDescription
Person picturePerson pictureDisplays the picture of a person/contact.

Pickers

ImageControlDescription
Color pickerColor pickerA control that displays a selectable color spectrum.
Calendar date pickerCalendar date pickerA control that lets users pick a date value using a calendar.
Calendar viewCalendar viewA control that presents a calendar for a user to choose a date from.
Date pickerDate pickerA control that lets a user pick a date value.
Time pickerTime pickerA configurable control that lets a user pick a time value.

Scrolling and layout

ImageControlDescription
Screenshot of the Expander controlExpanderA container with a header that can be expanded to show a body with more content.
Scrolling and panning controlsScrolling and panning controlsA container control that lets the user pan and zoom its content.
Annotated scrollbarAnnotated scrollbarA control that extends a regular vertical scrollbar's functionality for an easy navigation through large collections.
Semantic zoomSemantic zoomLets the user zoom between two different views of a collection, making it easier to navigate through large collections of items.
Split viewSplit viewA container that has 2 content areas, with multiple display options for the pane.
Two-pane viewTwo-pane viewA control with two content areas that span the available space, either side-by-side or top-bottom.

Status and information

ImageControlDescription
ProgressProgressShows the app's progress on a task using a progress bar or progress ring.
Screenshot of the Tooltip controlTooltipDisplays information for an element in a pop-up window.
Info barInfo barAn inline message to display app-wide status change information.
Info badgeInfo badgeA non-intrusive UI to display notifications or bring focus to an area.

Text

ImageControlDescription
Auto-suggest boxAuto-suggest boxA control to provide suggestions as a user is typing.
Text blockText blockA lightweight control for displaying small amounts of text.
Rich text blockRich text blockA control that displays formatted text, hyperlinks, inline images, and other rich content.
Text boxText boxA single-line or multi-line plain text field.
Rich edit boxRich edit boxA rich text editing control that supports formatted text, hyperlinks, and other rich content.
Password boxPassword boxA control for entering passwords.
Number boxNumber boxA text control used for numeric input and evaluation of algebraic equations.
LabelsGuidance for adding accessible labels to input controls.

Title bar

ImageControlDescription
Title barTitle barCustomize the title bar of your app window.

The WinUI 3 Gallery app is the best way to explore these controls hands-on. It provides interactive demos of most WinUI controls, features, and Fluent Design patterns—making it an ideal companion to this documentation. Install it to try controls in real time and link directly from individual control pages.

[!div class="checklist"]

Additional controls and resources

The Windows Community Toolkit is a collection of helpers, extensions, and additional UI controls that complement the built-in WinUI controls. It's community-driven and maintained by Microsoft, covering common scenarios like advanced layouts, converters, and animations.

For early access to experimental controls and features, check out Windows Community Toolkit Labs, where new components are developed and tested before graduating to the main toolkit.