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
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