We are in the process of merging Microsoft Learning with Microsoft Learn, which will be complete by June 30, 2020. You’ll find all relevant training and certification information is now available on Microsoft Learn. For more information, refer to the FAQ.
In response to the coronavirus (COVID-19) situation, Microsoft is implementing several temporary changes to our training and certification program. Learn more.


Visual Studio

  • Published:
    October 23, 2012
  • Languages:
    English, Chinese (Simplified), French, German, Japanese, Portuguese (Brazil)
  • Audiences:
    Partners, developers
  • Technology:
    Visual Studio 2012
  • Credit toward certification:

Essentials of Developing Windows Store Apps Using C#

This exam has been retired

For currently available options, please see the Microsoft Certification exam list.

Skills measured

This exam measures your ability to accomplish the technical tasks listed below. The percentages indicate the relative weight of each major topic area on the exam. The higher the percentage, the more questions you are likely to see on that content area on the exam. View video tutorials about the variety of question types on Microsoft exams.

Please note that the questions may test on, but will not be limited to, the topics described in the bulleted text.

Do you have feedback about the relevance of the skills measured on this exam? Please send Microsoft your comments. All feedback will be reviewed and incorporated as appropriate while still maintaining the validity and reliability of the certification process. Note that Microsoft will not respond directly to your feedback. We appreciate your input in ensuring the quality of the Microsoft Certification program.

If you have concerns about specific questions on this exam, please submit an exam challenge.

If you have other questions or feedback about Microsoft Certification exams or about the certification program, registration, or promotions, please contact your Regional Service Center.

Design Windows Store apps (20-25%)
  • Design the UI layout and structure
    • Evaluate the conceptual design and decide how the UI will be composed; design for the inheritance and re-use of visual elements (e.g., styles, resources); design for accessibility; decide when custom controls are needed; use the Hub App template
  • Design for separation of concerns (SOC)
    • Plan the logical layers of your solution to meet app requirements; design loosely coupled layers; incorporate WinMD components
  • Apply the MVVM pattern to your app design
    • Design and implement the appropriate data model to support business entities; design your viewmodel to support your view based on your model; develop a view to meet data-binding requirements; create view models using INotifyPropertyChanged, ObservableCollection, and CollectionViewSource
  • Design and implement Process Lifetime Management (PLM)
    • Choose a state management strategy; handle the suspend event; prepare for app termination; handle the Resume event; handle the OnActivated event; check the ActivationKind and previous state
  • Plan for an app deployment
    • Plan a deployment based on Windows Store app certification requirements; prepare an app manifest (capabilities and declarations); sign an app; plan the requirements for an enterprise deployment
Develop Windows Store apps (15-20%)
  • Access and display contacts
    • Call the ContactsPicker class; filter which contacts to display; display a set number of contacts; create and modify contact information; select specific contact data
  • Design for charms and contracts
    • Choose the appropriate charm based on app requirements; design your app in a charm- and contract-aware manner; configure app manifest for correct permissions
  • Implement search
    • Provide search suggestions using the SearchPane class and SearchBox control; search for and launch other apps; provide and constrain search within an app, including inside and outside of Search charm; provide search result previews; implement activation from within search; configure search contracts
  • Implement Share in an app
    • Use the DataTransferManager class to share data with other apps; accept sharing requests by implementing activation from within Share; limit the scope of sharing using the DataPackage object; implement in-app Share outside of Share charm; use web links and application links
  • Manage app settings and preferences
    • Choose which app features are accessed in AppSettings; add entry points for AppSettings in the Settings window; create settings flyouts; store and retrieve settings from the roaming app data store
  • Integrate media features
    • Support DDS images; implement video playback; implement XVP and DXVA; implement Text to Speech (TTS)
Create the user interface (20-25%)
  • Create layout aware apps to handle windowing modes
    • Respond to changes in orientation; adapt to new windowing modes by using the ViewManagement namespace; manage settings for an apps view
  • Implement layout controls
    • Implement the Grid control to structure your layout; set the number of rows/columns and size; enable zoom and scroll capabilities in layout controls; manage text flow and presentation
  • Design and implement the app/nav bar
    • Determine what to put on the app/nav bar based on app requirements; style and position app/nav bar items; design the placement of controls on the app/nav bar; handle app/nav bar events; design the placement of controls on the app/nav bar
  • Design and implement data presentation
    • Choose and implement data controls and properties to meet app requirements (e.g., ListView, GridView, FlipView, DatePicker, TimePicker, Hyperlink, PlaceholderText, menu flyouts, and CommandBar); create data templates to meet app requirements
  • Create and manage XAML styles and templates
    • Implement and extend styles and templates; implement gradients; modify styles based on event and property triggers; create shared resources and themes

Preparation resources

Program the user interaction (20-25%)
  • Create and manage tiles
    • Create and update tiles and tile contents; create and update badges (TileUpdateManager class); respond to notification requests; choose an appropriate tile update schedule based on app requirements
  • Notify users by using toast
    • Enable an app for toast notifications; populate toast notifications with images and text using the ToastUpdateManager class; play sounds with toast notifications; respond to toast events; control toast duration; configure and use Azure Mobile Services for push notifications
  • Manage input devices
    • Capture Gesture library events; create custom gesture recognizers; listen to mouse events or touch gestures; manage Stylus input and inking
  • Design and implement navigation in an app
    • Handle navigation events, check navigation properties, and call navigation functions by using the Navigation framework; design navigation to meet app requirements; Semantic Zoom

Preparation resources

Manage security and data (20-25%)
  • Choose an appropriate data access strategy
    • Choose the appropriate data access strategy (file based, web service, remote storage, including Microsoft Azure storage and Azure Mobile Services) based on requirements
  • Retrieve data remotely
    • Use HttpClient to retrieve web services; set the appropriate HTTP verb for REST; consume SOAP/WCF services; use WebSockets for bi-directional communication; handle the progress of data requests
  • Implement data binding
    • Choose and implement data-bound controls; bind collections to items controls; implement the IValueConverter interface; create and set dependency properties; validate user input; enable filtering, grouping, and sorting data in the user interface
  • Manage Windows Authentication and Authorization
    • Retrieve a user's roles or claims; store and retrieve credentials by using the PasswordVault class; implement the CredentialPicker class; verify credential existence by using credential locker; store account credentials in app settings
  • Manage Web Authentication
    • Use the Windows.Security.Authentication.Web namespace; set up oAuth2 for authentication; implement the CredentialPicker class; set up single sign-on (SSO); implement credential roaming; implement the WebAuthenticationBroker class; support proxy authentication for enterprises

Preparation resources

Who should take this exam?

This exam is intended for developers with a minimum of two to five years of experience developing C# and XAML applications, including one or more years developing applications that conform to the Windows Store app guidelines.

More information about exams

Preparing for an exam

We recommend that you review this exam preparation guide in its entirety and familiarize yourself with the resources on this website before you schedule your exam. See the Microsoft Certification exam overview for information about registration, videos of typical exam question formats, and other preparation resources. For information on exam policies and scoring, see the Microsoft Certification exam policies and FAQs.


This preparation guide is subject to change at any time without prior notice and at the sole discretion of Microsoft. Microsoft exams might include adaptive testing technology and simulation items. Microsoft does not identify the format in which exams are presented. Please use this preparation guide to prepare for the exam, regardless of its format. To help you prepare for this exam, Microsoft recommends that you have hands-on experience with the product and that you use the specified training resources. These training resources do not necessarily cover all topics listed in the "Skills measured" section.