Roadmap for Windows Store apps using C# or Visual Basic

Here are key resources to help you get started developing Windows Store apps using C# or Visual Basic. This is not a comprehensive list of all the features or available resources. The fundamentals are listed first, and it's a good idea to start there. But this topic is also designed so that you can skip around and learn about features you're interested in. Bookmark this page and come back to it again when you need to learn how to add another feature to your app.

If you'd rather use another programming language, see:

Get started

Essential downloads

Download Windows evaluation copies and Microsoft Visual Studio.

Develop Windows Store apps using Visual Studio

A guide to using Visual Studio to develop Windows Store apps.

Making great Windows Store apps

This article answers the "what?" and "why?" for Windows Store app designing and development and gives you an overview of what you can do to make a great Windows Store app.

Guidance on particular kinds of apps and games

Here are examples of good design for a few categories of apps (e.g. games, productivity apps, news apps, etc.). Naturally, this is a tiny subset of what's possible; nevertheless, these articles can provide you with a flavor of Windows Store app look and behavior.

Planning Windows Store apps

What kind of app should you make? How do you plan for different devices? How should you monetize your app? Make the right decisions during the planning phase to simplify deployment and maximize your app's potential.

Resources for Windows Phone developers

If you have a Microsoft Silverlight Windows Phone app you are already part-way to having a Windows Store app! Here is a high-level guide to help you make the conversion.

Migrating Silverlight or WPF XAML/code to a Windows Store app

This migration topic is useful if you have experience with other XAML-based UI frameworks like Windows Presentation Foundation (WPF) or Silverlight, particularly if you have an app to migrate.

Part 1: Create a "Hello, world" app

Get started with the tools and create your first Windows Store app.

C#, VB, and C++ project templates for Windows Store apps

You need to select a template when you start developing your Windows Store app. Use this topic to learn what templates to use and what comes with them.

Casual game sample

This is a simple casual game (Reversi) sample. If you prefer to dive into an end-to-end sample to see how everything is put together, this is worth downloading.

Windows Store app samples

Browse a variety of samples and filter by language.


Hands-on labs for Windows 8

If you’d like more tutorials to help you get started making Windows Store apps, download the hands-on labs for Windows 8. These labs provide a modular, step-by-step introduction to creating a sample Windows Store app. The labs are available in JavaScript with HTML and C# with XAML.

Basic features and concepts for all Windows Store apps

Quickstart: Adding controls and handling events

Create controls and connect them to code.

Controls list

See what controls are available.

Controls by function

See what controls are available in various functional categories.

Quickstart: Control templates

In the XAML framework for Windows Store apps, you create a control template when you want to customize a control's visual structure and visual behavior.

Quickstart: Adding app bars

Add an app bar (needed by most Windows Store apps).

Quickstart: Styling controls

Use styles to customize the appearance of your app, and reuse your appearance settings across your app.

Quickstart: Adding text input and editing controls

Display text and let your user enter and edit text.

Quickstart: Defining layouts

Position controls and text where you want them.

Quickstart: Touch input

Make your app work with touch.

Responding to keyboard input

Make your app work with the keyboard.

Responding to mouse input

Make your app work with the mouse.

Quickstart: Pointers

Work with pointer capture and pointer events.

App capability declarations

Enable app capabilities like Internet access or document-library access for running in the security sandbox.

Quickstart: Navigating between pages

Navigate between pages and pass data between them.

Launching, resuming, and multitasking

This section explains how you can activate, suspend, and resume your Windows Store app in response to the normal app lifecycle events, file and protocol associations, and AutoPlay events. This is a must for most apps.

Working with tiles, badges, and toast notifications

At the very least you need a tile to allow users to open your Windows Store apps. In addition, you can increase the utility and visibility of your app by using notifications and creating "live tiles".

Quickstart: Printing from your app

Print from your app.

Accessibility in Windows Store apps

Make your app accessible. A Windows Store app using C++, C#, or Visual Basic can provide app-specific information that is reported to any Microsoft UI Automation client. This includes common assistive technologies such as screen readers.

Globalizing your app

Windows is used worldwide and so it is important for you to design your Windows Store apps to appeal to an international audience in order to get maximum distribution.

Adding a splash screen

Add a splash screen to provide your users with immediate feedback as your app loads its resources.

Publish Windows Store apps

The Windows Store lets you reach the millions of customers who use Microsoft Windows.


The programming model for Windows Store apps using C++, C#, or Visual Basic

XAML overview

This topic provides a full overview on the XAML markup language as it is used by the Windows Runtime, and links to related reference and conceptual material such as how to use each XAML markup extension, and how to use XAML names.

Quickstart: Calling asynchronous APIs in C# or Visual Basic

The Windows Runtime includes many asynchronous APIs, like MediaCapture and StorageFile, so that your app remains responsive when it does the work that might take an extended amount of time. This means that your app will not need to wait for large operations to complete before continuing execution. Most of the asynchronous APIs don't have synchronous counterparts, so you need to be sure to understand how to use the asynchronous APIs with C# or Microsoft Visual Basic in your Windows Store app.

Dependency properties overview

Your Windows Store apps uses dependency properties. Dependency properties are an architectural feature that supports other common features such as animation, styles and data binding.

Events and routed events overview

Wire your Windows Store app using C++, C#, or Visual Basic event handlers in XAML. Learn about the routed event concept, which is relevant to many UI-related events of the UIElement class.

ResourceDictionary and XAML resource references

A resource dictionary is a way you can declare a resource item in XAML markup, which you can then access as a shared value for other XAML-defined properties by using a StaticResource markup extension.

Custom dependency properties

Define your own custom property that can participate in data binding, styles, animations, and callbacks for real-time value changes.

Storyboarded animations

Storyboarded animations are custom animations that target dependency property values and change them over time. This isn't just for traditional visually oriented animations, it's also a way to implement app states and add run-time behavior.

Key-frame animations and easing function animations

Key-frame animations are type of storyboarded animation that can set intermediate values along a timeline using a key-frame metaphor. Easing functions are a way to change the interpolation of values while the animation runs. These are both useful for defining a more advanced style of animation than is possible with either a simple storyboarded animation or the animation library.

Storyboarded animations for visual states

Visual states are a technique for applying sets of property changes that are in response to a known state of a control, page, or other part of your app. You use storyboarded animations to define visual states, and there are best practices you should follow when you use storyboarded animations for a visual state.


Rich visuals and media

Animating your UI

An introduction to how animation works in XAML.

Quickstart: Animating your UI using library animations

Animations are built into many of the controls you use; however, you can add the same library of animations that the controls use and apply the transition animations and theme animations to other components of your UI.

Quickstart: Video and audio

Integrate media into your app.

Quickstart: Shapes

Draw scalable vector graphics shapes, such as ellipses, rectangles, polygons, and paths.

Quickstart: Brushes

Draw to a UI surface with colors, gradients, and image sources.

3-D effects for Windows Store apps using XAML

You can apply 3-D effects to content in your Windows Store apps using perspective transforms. For example, you can create the illusion that an object is rotated toward or away from you.

Quickstart: Creating a media player app

Create a basic media player app by using the MediaElement API and defining a basic transport control UI in XAML.

Quickstart: Image and ImageBrush

Learn how to integrate images into your Windows Store app using C++, C#, or Visual Basic.


Working with data

Quickstart: Data binding to controls

Bind a control to a single item or bind a list control to a collection of items. This can be used for displaying data, such as stock prices or headlines, in controls.

Quickstart: Reading and writing a file

Read from and write to a file.

Quickstart: Accessing files with file pickers

Use the file picker to let the user open or save a file.

Data binding overview

Use data binding features in a XAML UI, including features such as change notification, binding to collections, incremental loading, grouping, and per-binding data conversions.

App data

Learn how Windows Store apps can store data and about the scenarios where the various app data techniques work best.



Responding to motion and orientation sensors

Use motion and orientation sensors.

Quickstart: Responding to changes in lighting

Use an ambient light sensor.

Quickstart: Detecting a user's location

Use location services.


Searching, sharing, and connecting

Quickstart: Integrating with file picker contracts

You can help users pick files from one app directly within another app. Users gain freedom and flexibility. Apps increase their popularity by supporting the File Open Picker contract.

Adding share

Great apps make it easy for users to share what they are doing with their friends and family. Apps that support the Share contract can automatically share content to and from any other app that also supports the Share contract.

Auto-launching with file and URI associations

You can use the association launching API to launch the user's default app for a file type or protocol. You can also enable your app to be the default app for a file type or protocol.

Proximity and tapping

Use proximity to connect computers with a simple tap gesture. If two computers are near each other, or are tapped together, the operating system becomes aware of the nearby computer.

Streaming media to devices using Play To

Use the Play To contract to let users stream audio, video, or images from their computer to devices in their home network.

Auto-launching with AutoPlay

Use the AutoPlay events to make your app do the right thing automatically when a device is connected to the PC, or a camera memory card, thumb drive, or DVD is inserted into the PC.

Adding support for networking

Learn how to how to set network capabilities required for network access, how to handle network connections as background tasks, and how to secure and troubleshoot network connections for a Windows Store app.


Guidelines and best practices

Design inspiration

Here are some articles that show examples of good design for various categories of apps (e.g. games, productivity apps, news apps, etc).

Index of UX guidelines for Windows Store apps

Use this resource to find best practices for a variety of specific design implementations and features like file pickers, SemanticZoom, cross-slide, and so on.

Performance best practices for Windows Store apps

Here are some concepts and guidelines to consider to ensure that your app performs well on your users' computers.

Guidelines and checklist for accessibility

Describes the guidelines that you should follow if you want to declare that your app is accessible, as part of the Windows Store submission process.


API reference

Here are the key APIs supported in your Windows Store apps using C# or Visual Basic.

Windows API reference for Windows Store apps

If you are familiar with UI frameworks like Silverlight, many of these APIs will look familiar (they have "XAML" in the namespace name). These APIs provide access to all core platform features.

.NET for Windows Store apps — supported APIs

The subset of the Microsoft .NET API that you can use in a Windows Store app using C# or Visual Basic.


Related topics

App architecture
.NET for Windows Store apps — supported APIs
Windows API reference for Windows Store apps



© 2014 Microsoft. All rights reserved.