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
Exam 70-506 is intended for software developers who are creating
rich Internet-based applications using Silverlight. The exam
focuses mainly on Silverlight 4, but also covers core
Silverlight concepts.
Audience Profile
Candidates for this exam are developers who create and
maintain rich interactive applications (RIA) using
Silverlight 4. Candidates may have additional experience
with previous Silverlight versions.
The minimally qualified candidate typically:
Has at least six months of experience with Silverlight
development
Has at least one year of experience with Microsoft .NET
development
Has experience consuming data services
Credit Toward CertificationWhen
you pass Exam 70-506: TS: Silverlight 4, Development, you complete
the requirements for the following certification(s):
MCTS: Silverlight 4, Development
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.
Laying Out a User Interface (15%)
Arrange content with panels.
This objective may include but is not limited to:
arranging content with panels (grid, stack panels, canvas,
border, scroll viewer, ViewBox), managing grid properties
(autosizing, star sizing, column definitions, row
definitions, gridlines), setting Z order, setting
visibility, setting orientation, setting positioning
Implement and configure core controls.
This objective may include but is not limited to:
implementing and configuring core controls (textbox, button,
text block, checkbox) and content controls, referencing
namespaces
Create user controls.
This objective may include but is not limited to:
creating user controls, creating control parts, mapping
control parts
Implement a navigation framework.
This objective may include but is not limited to:
implementing caching on a frame, modifying journal mode,
handling navigation events (Navigating, Navigated,
NavigationFailed, NavigationStopped), implementing and
configuring deep linking
Display collections of items.
This objective may include but is not limited to:
implementing and configuring item controls (datagrid,
listbox, items control, combo box, tree view), working with
selected items and indices
Play media files.
This objective may include but is not limited to:
implementing digital rights management (DRM), playing
streams, creating timeline markers, playing multiple audio
tracks, displaying closed captioning, responding to timeline
marker events, handling media playback events
Enhancing the User Interface (14%)
Create or modify control styles.
This objective may include but is not limited to:
setting a style locally, setting a style at the page control
level, setting a style globally, implementing implicit
styles, overriding styles at different levels, creating
based-on styles
Create control templates.
This objective may include but is not limited to:
creating a template, attaching a template, implementing a
content placeholder, implementing template binding
Create or modify data templates.
This objective may include but is not limited to:
modifying item templates for data controls, creating a
create template, creating an update template, using a user
control as a data template
Manipulate visuals.
This objective may include but is not limited to:
transforming controls by using skew transformations, rotate
transformations, scale transformations, translate
transformations, or perspective transformations; applying
pixel shaders
Animate visuals.
This objective may include but is not limited to:
creating storyboards, programmatically starting and stopping
storyboards, implementing easing functions, using keyframes,
triggering storyboard on load, repeating and reversing
storyboards, setting keyframe begin time, responding to
events, configuring bitmap caching
Implement behaviors.
This objective may include but is not limited to:
triggering storyboards by using behaviors, dragging and
dropping elements, calling a method
Manage the visual state.
This objective may include but is not limited to:
creating states, creating state groups, transitioning
states, programmatically changing states
Implementing Application Logic (16%)
Handle events.
This objective may include but is not limited to:
handling routed events, bubbling events, implementing
AddHandler.
Consume services asynchronously.
This objective may include but is not limited to:
creating and adding service references, handling
asynchronous completed events, configuring service
endpoints, handling service exceptions, handling timeouts
Work with background threads.
This objective may include but is not limited to:
spawning a background thread to execute code, returning data
to the UI thread by using the dispatcher object,
implementing the dispatcher timer
Work with dependency properties.
This objective may include but is not limited to:
creating dependency properties, specifying dependency
property metadata, getting and setting dependency property
values
Interact with attached properties.
This objective may include but is not limited to:
setting attached properties in XAML, getting and setting
attached properties programmatically
Implement ICommand.
This objective may include but is not limited to:
executing an ICommand, implementing an ICommand, binding to
an ICommand, passing a parameter
Working with Data (17%)
Format data.
This objective may include but is not limited to:
formatting string values in data binding, formatting
culture-specific string values
Implement data binding.
This objective may include but is not limited to:
setting the data context, binding data sets to controls,
binding elements to other elements, implementing
INotifyPropertyChanged, implementing ObservableCollection,
setting binding modes, setting a fallback value
Create and consume value converters.
This objective may include but is not limited to:
creating a value converter, referencing a value converter,
passing parameters
Implement data validation.
This objective may include but is not limited to:
implementing the INotifyDataErrorInfo interface,
implementing the IDataErrorInfo interface, implementing data
binding errors (NotifyOnValidationError,
ValidatesOnExceptions, ValidatesOnDataErrors,
ValidatesOnNotifyDataErrors)
Interacting with a Host Platform (11%)
Implement the printing API.
This objective may include but is not limited to:
handling multiple pages, adding page numbers, printing
off-screen visuals
Create out-of-browser applications.
This objective may include but is not limited to:
enabling trusted applications, checking for network
connectivity, installing and uninstalling applications,
displaying toast notifications, checking and updating
application versions, setting the application to be
chromeless, displaying HTML content by using the web browser
control, signing the XAP file, working with COM Interop
Access isolated storage.
This objective may include but is not limited to:
reading from and writing to isolated storage, increasing
storage size
Interact with the HTML DOM.
This objective may include but is not limited to:
accessing cookies, querystring values, and header info;
calling into JavaScript from Silverlight; calling into
Silverlight from JavaScript; Silverlight-to-Silverlight
communication; manipulating the DOM
Access the clipboard.
This objective may include but is not limited to:
copying and pasting text, handling situations when the user
declines
Read from and write to the host file system.
This objective may include but is not limited to: read
from and write to various locations, drag and drop from the
file system, using IO dialogs
Handle alternative input methods.
This objective may include but is not limited to:
handling right-click, mouse wheel , and multi-touch events
Structuring Applications (13%)
Create and consume resource dictionaries.
This objective may include but is not limited to:
utilizing sample data, selecting resources, merging resource
dictionaries
Implement localization and globalization.
This objective may include but is not limited to:
translating strings, configuring right-to-left language
support and FlowDirection
Handle application-level events.
This objective may include but is not limited to:
handling Exit, Startup, and UnhandledException events
Deploying Applications (13%)
Configure the Silverlight plug-in.
This objective may include but is not limited to:
passing initialization parameters; configuring windowless
mode, background color, and sizing of plugins; incorporating
nonstandard splash screens, enabling GPU acceleration,
setting the frame rate
Dynamically load application resources.
This objective may include but is not limited to:
downloading a zip file, extracting content from a zip file,
enabling assembly caching
Create a client access policy.
This objective may include but is not limited to:
accessing cross-domain content, accessing communication
channels, limiting access to resources