/Windows-universal-samples

API samples for the Universal Windows Platform.

Primary LanguageJavaScriptMIT LicenseMIT

Universal Windows Platform (UWP) app samples

This repo contains the samples that demonstrate the API usage patterns for the Universal Windows Platform (UWP) in the Windows Software Development Kit (SDK) for Windows 10. These code samples were created with the Universal Windows Platform templates available in Visual Studio, and are designed to run on desktop, mobile, and future devices that support the Universal Windows Platform.

Note: If you are unfamiliar with Git and GitHub, you can download the entire collection as a ZIP file, but be sure to unzip everything to access shared dependencies. For more info on working with the ZIP file, the samples collection, and GitHub, see Get the UWP samples from GitHub. For more samples, see the Samples portal on the Windows Dev Center.

Universal Windows Platform development

These samples require Visual Studio 2017 Update 4 or higher and the Windows Software Development Kit (SDK) version 16299 for Windows 10.

Get a free copy of Visual Studio 2017 Community Edition with support for building Universal Windows Platform apps

Additionally, to stay on top of the latest updates to Windows and the development tools, become a Windows Insider by joining the Windows Insider Program.

Become a Windows Insider

Using the samples

The easiest way to use these samples without using Git is to download the zip file containing the current version (using the following link or by clicking the "Download ZIP" button on the repo page). You can then unzip the entire archive and use the samples in Visual Studio 2017.

Download the samples ZIP

Notes:

  • Before you unzip the archive, right-click it, select Properties, and then select Unblock.
  • Be sure to unzip the entire archive, and not just individual samples. The samples all depend on the SharedContent folder in the archive.
  • In Visual Studio 2017, the platform target defaults to ARM, so be sure to change that to x64 or x86 if you want to test on a non-ARM device.

The samples use Linked files in Visual Studio to reduce duplication of common files, including sample template files and image assets. These common files are stored in the SharedContent folder at the root of the repository, and are referred to in the project files using links.

Reminder: If you unzip individual samples, they will not build due to references to other portions of the ZIP file that were not unzipped. You must unzip the entire archive if you intend to build the samples.

For more info about the programming models, platforms, languages, and APIs demonstrated in these samples, please refer to the guidance, tutorials, and reference topics provided in the Windows 10 documentation available in the Windows Developer Center. These samples are provided as-is in order to indicate or demonstrate the functionality of the programming models and feature APIs for Windows.

Contributions

These samples are direct from the feature teams and we welcome your input on issues and suggestions for new samples. At this time we are not accepting new samples from the public, but check back here as we evolve our contribution model.

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.

See also

For additional Windows samples, see Windows on GitHub.

Samples by category

App settings

App package information Application data Store

Audio, video, and camera

360-degree video playback Adaptive streaming Advanced capture
Advanced casting Audio categories Audio graphs
Background media playback Basic camera app Basic face detection
Basic face tracking Basic media casting Camera face detection
Camera frames Camera preview frame Camera profiles
Camera resolution Camera stream correlation DASH streaming
Direct2D photo adjustment Media editing Media import
Media transport controls MIDI Playlists
PlayReady Processing frames with OpenCV Simple imaging
Spatial audio System media transport controls Transcoding media
Video playback Video playback synchronization Video stabilization
Windows audio session (WASAPI)

Communications

Bluetooth RFCOMM chat Caller ID Communication blocking and filtering
Phone call Real-time communication SMS send and receive
Voice over IP (VoIP)

Contacts and calendar

Appointment calendar Contact cards Contact panel
Contact picker My People notifications UserDataAccountManager

Controls, layout, and text

3D Printing 3D Printing from Unity AutoSuggestBox
Bottom-up list (XAML) Clipboard Colored glyphs (DirectWrite)
Commanding Context menu Context menu (XAML)
Custom text edit control Data virtualization Disabling selection
Display orientation Downloadable fonts (DirectWrite) Downloadable fonts (XAML)
Drag and drop Focus visuals Full screen mode
Gamepad-style navigation (XAML) Line spacing (DirectWrite) ListView and GridView
Lock screen apps Message dialog Multiple views
OCR Printing Pull-to-refresh
Responsiveness techniques Scaling according to DPI Splash screen
State triggers Tailored multiple views Title bar
TreeView (XAML) UI basics (XAML) User interaction mode
WebView control (HTML) WebView control (XAML) Window resizing

Custom user interactions

Basic input Complex inking Ink analysis/a>
Inking Low latency input Simple inking
Touch keyboard Touch keyboard text input

Data

Blobs Compression Content indexer
Form validation (HTML) IndexedDB Logging
PDF document Serializing and deserializing data x:Bind
x:DeferLoadStrategy XML DOM XmlLite

Deep links and app-to-app communication

App services Jump list customization Remote systems
Sharing content source app Sharing content target app

Devices and sensors

Accelerometer Activity detection sensor AllJoyn consumer experiences
AllJoyn producer experiences Altimeter Background sensors
Barcode scanner Barometer Bluetooth advertisement
Bluetooth Low Energy Cash drawer Compass
Custom HID device Custom sensors Custom serial device
Custom USB device Device enumeration and pairing General Purpose Input/Output (GPIO)
Gyrometer Inclinometer Inter-Integrated Circuit (I2C)
Lamp device Light sensor Magnetometer
Magnetic stripe reader Near field communication (NFC) NFC enterprise provisioner
Orientation sensor Pedometer POS printer
Proximity sensor Radial controller Relative inclinometer
Serial Arduino Serial Peripheral Interface (SPI) Simple orientation sensor

Files, folders, and libraries

File access File and folder thumbnail File picker
File picker provider File search Folder enumeration
HomeGroup Library management Semantic text query

Gaming

Direct3D game DirectX and XAML game

Globalization and localization

Application resources and localization Calendar Date and time formatting
Globalization preferences Japanese phonetic analysis Language font mapping
Linguistic services Number formatting and parsing Text segmentation
Text suggestions Unicode string processing

Graphics and animation

Animated GIF playback (XAML) Animation library (HTML) Animation metrics
Composition visual without framework Direct2D advanced color image rendering Direct2D custom image effects
Direct2D gradient mesh Direct2D SVG image rendering Efficient animations (HTML)
Transform3D animations Transform3D parallax

Holographic

Basic hologram Depth-based focus plane Holographic face tracking
Holographic mixed reality capture Holographic spatial mapping Holographic spatial stage
Holographic voice input Spatial interaction source Tag-along hologram Mixed Reality Model

Identity, security, and encryption

Credential locker Client Device Information Credential picker
Device lockdown with Azure login Disabling screen capture Enterprise data protection
KeyCredentialManager Lock screen personalization Microsoft Passport and Windows Hello
Smart cards User information UserCertificateStore
UserConsentVerifier Web account management WebAuthenticationBroker

Launching and background tasks

Association launching Background activation Background task
Extended execution Suspend and resume

Maps and location

Geolocation Geotag MapControl

Navigation

Back Button Master/detail Navigation menu (XAML)
Pivot Projection XHR, handling navigation errors, and URL schemes

Networking and web services

Advertising Background transfer DatagramSocket
HttpClient JSON Mobile broadband
Radios RSS reader end-to-end (JavaScript) Socket activity trigger stream socket
StreamSocket Syndication USSD protocol
WebSocket Wi-Fi Direct Wi-Fi Direct services
Wi-Fi scanning

Platform architecture

Custom capabilities In-process component authoring In-process component authoring
Out-of-process component authoring Version adaptive code

Speech and Cortana

Cortana voice command Speech recognition and synthesis

Threading

JavaScript Web Workers app multithreading

Tiles, toasts, and notifications

Notifications Secondary tiles