Exam 70-502:

TS: Microsoft .NET Framework 3.5, Windows Presentation Foundation Application Development

Published:April 14, 2008
Language(s):English, French, German, Japanese, Spanish, Chinese (Simplified)
Technology:Microsoft Visual Studio 2008
Type:Proctored Exam

How To Get It: Schedule your exam through the following exam provider:

Take exam

Preparing for an Exam
This exam is scheduled to retire on July 31, 2013.
The Microsoft Certification website and this preparation guide contain a variety of resources to help you prepare for an exam. Preparing for and Taking an Exam — FAQ provides answers to frequently asked questions about exam registration ,preparation ,scoring ,and policies , including:
  • The most effective way to prepare to take an exam.
  • The relationship between Microsoft training materials and exam content.
  • Microsoft policy concerning the incorporation of service pack and revision updates into exam content.
  • Exam question types and formats.
  • Exam time limits and number of questions asked.
We recommend that you review this preparation guide in its entirety and familiarize yourself with the FAQs and resources on the Microsoft Certification website before you schedule your exam.
Exam Topics Covered
This exam is designed to test the candidate's knowledge on using Windows Presentation Foundation on the .NET Framework 3.5 and Visual Studio 2008.

Questions that contain code will be presented in either VB or C#. Candidates can select one of these languages when they start the exam.
Audience Profile
Candidates for this exam work on a team in a development environment that uses Microsoft Visual Studio .NET 2008 and Microsoft .NET Framework 3.5 to create rich client applications or Windows-based applications. Candidates should have at least one year of experience developing Windows-based applications by using the Microsoft .NET Framework 2.0, at least six months experience with WPF and Visual Studio 2008, and should be able to demonstrate the following by using Windows Presentation Foundation (WPF):
  • A solid understanding of WPF in the context of the Microsoft .NET Framework 3.5 solution stack
  • Experience in programming against the WPF object model
  • Experience in creating layouts by using Extensible Application Markup Language (XAML)
  • Experience in creating data-driven user interfaces
  • Experience in deploying WPF applications
Credit Toward CertificationExam 70-502: TS: Microsoft .NET Framework 3.5, Windows Presentation Foundation Application Development: counts as credit toward the following certification(s):
Note 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.
Skills Being MeasuredThis 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.

The information after “This objective may include but is not limited to” is intended to further define or scope the objective by describing the types of skills and topics that may be tested for the objective. However, it is not an exhaustive list of skills and topics that could be included on the exam for a given skill area. You may be tested on other skills and topics related to the objective that are not explicitly listed here.
Creating a WPF Application
  • Select an application type
    May include: Choose between Windows application, Navigation application, and XAML Browser Application (XBAP) application; select the right type of application based on security restrictions
  • Configure Event Handling
    May include: tunneling vs. bubbling events; using the Event Manager class; handle application-level events
  • Configure commands
    May include: defining commands; associating commands to controls; creating custom commands; handling commands
  • Configure page-based navigation
    May include: defining and using PageFunction; using Navigation Service and hyperlinks; simple navigation vs. structured navigation; using the Journal; handling navigation events
  • Configure application settings
    May include: create application settings; create user settings; loading and saving settings
  • Manage application responsiveness
    May include: implement asynchronous programming patterns; marshalling between threads; freezing UI elements
Building User Interfaces
  • Select and configure content controls
    May include: applying attached properties of controls to a user interface element; selecting appropriate controls for specific uses
  • Select and configure item controls
    May include: using lists, toolbars, menus, tree views, virtualization of item controls, status bar
  • Select and configure layout panels
    May include: choosing the correct layout panel; configuring sizing; aligning content; using a grid splitter
  • Integrate Windows Forms controls into a WPF application
    May include: adding controls not available in WPF, such as the property grid and masked text box; interop dialog boxes
  • Create user and custom controls
    May include: render appearance based on currently selected system theme; incorporate accessibility features by using UI automation; choosing between custom controls, user controls, and templates; consuming user control or custom controls; creating and handling routed events
Adding and Managing Content
  • Create and display two dimensional and three dimensional graphics
    May include: using geometric transformation; brushes; drawing shapes; clipping; flipping; hit testing
  • Create and manipulate documents
    May include: XML Paper Specification (XPS) and flow documents; incorporating UI elements inside documents; choosing the right element for text presentation; scaling text; selecting controls for formatting text documents; printing
  • Add multimedia content
    May include: media player vs. media element; adding a sound player; handling media-specific events such as buffering
  • Manage binary resources
    May include: embedding resources in your application; linking to external resources; preloading resources; asynchronously using resources; sharing resources
  • Manage images
    May include: accessing image metadata; transforming graphics into images; stretching and sizing images
Binding to Data Sources
  • Configure binding options
    May include: setting the correct binding mode and update mode; using static resources; using dynamic resources
  • Bind to a data collection
    May include: filtering, sorting, and grouping data; using data templates; binding to hierarchical data; binding to objects
  • Bind to a property of another element
    May include: using template binding; binding to an ancestor property
  • Convert and validate data
    May include: localizing data; using custom converters and custom validators; using multivalue converters
  • Configure notification of changes in underlying data
    May include: implementing INotifyPropertyChanged; using ObservableCollection
Customizing Appearance
  • Create a consistent user interface appearance by using styles
    May include: applying a style automatically to all controls of a specific type; implementing style inheritance; property value precedence (order in which dependency property values are applied)
  • Change the appearance of a UI element by using triggers
    May include: using multiple triggers; using property triggers; using event triggers; using data triggers
  • Add interactivity by using animations
    May include: creating a storyboard; controlling timelines; controlling the behavior when the animation completes; animating non-double data types; starting an animation from code
  • Share logical resource throughout an application
    May include: choosing where to store a resource; merging resource dictionaries; retrieving a resource by using procedural code
  • Change the appearance of a control by using templates
    May include: inserting a trigger inside a template; using predefined part names in a template; respecting the templated parent’s properties
  • Localize a WPF application
    May include: loading resources by locale; marking localizable elements; using culture settings in validators and converters; using language properties and rendering direction properties
Configuring and Deploying WPF Applications
  • Deploy for standalone access
    May include: using the MSI to create the installation; using click-once installation; configuring update options
  • Deploy to a partial trust environment
    May include: choose the correct local persistence mechanism; remove or disable application features that will not work in a partial trust environment
  • Deploy an XBAP application
    May include: publish an XBAP application to a temporary location; publish an XBAP application to a final location; deployment dependencies
  • Manage upgrades
    May include: loading modules on demand; migrating settings; migrating user data; programmatically check for updates
  • Configure the security settings of an application deployment
    May include: configuring application manifest; associating certificates with the application
Preparation Tools and ResourcesTo help you prepare for this exam, Microsoft Learning recommends that you have hands-on experience with the product and that you use the following training resources. These training resources do not necessarily cover all of the topics listed in the "Skills Measured" tab.
Learning Plans and Classroom Training
Microsoft E-Learning
Microsoft Press Books
Practice Tests
Have Questions? For advice about training and certification, connect with peers: For questions about a specific certification, chat with a Microsoft Certified Professional (MCP): To find out about recommended blogs, Web sites, and upcoming Live Meetings on popular topics, visit our community site: