Windows UI Design

Overview

The Windows UI Design documentation provides guidelines, best practices, and reusable components to help developers create modern, accessible, and consistent experiences across Windows devices.

Table of Contents

Design Principles

Windows UI is built around four core principles:

  1. Clarity: Content is legible and elements are easy to understand.
  2. Consistency: Use system controls and patterns to create predictable experiences.
  3. Efficiency: Reduce the number of steps needed to complete a task.
  4. Inclusivity: Design for all users, including those with disabilities.

Layout & Navigation

Adopt Adaptive Layouts to support devices ranging from small tablets to large desktops. Use the NavigationView control for top-level navigation and SplitView for context menus.

Core Controls

The following controls are recommended for most applications:

  • Button – Primary actions.
  • TextBox – Data entry with clear placeholder text.
  • ComboBox – Compact selection.
  • ListView – Display collections of items.
  • AppBarButton – Command bar actions.

Theming & Color

Leverage the built‑in ThemeResources to automatically adapt to Light or Dark mode. Use SystemAccentColor for highlights.

Accessibility

All UI elements must have appropriate AutomationProperties defined. Ensure contrast ratios meet WCAG AA standards.

Sample XAML

<Page
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <NavigationView PaneTitle="Sample App">
            <NavigationView.MenuItems>
                <NavigationViewItem Icon="Home" Content="Home"/>
                <NavigationViewItem Icon="Contact" Content="Profile"/>
            </NavigationView.MenuItems>

            <Grid>
                <StackPanel Padding="24">
                    <TextBlock Text="Welcome to Windows UI Design" FontSize="24" FontWeight="SemiBold"/>
                    <Button Content="Get Started" Style="{StaticResource PrimaryButtonStyle}" Margin="0,16,0,0"/>
                </StackPanel>
            </Grid>
        </NavigationView>
    </Grid>
</Page>