Exam 70-506: Silverlight 4 Development

,Exam 70-506: Silverlight 4 Development

Elsergietenapuros, CC2.0 via flickr

.Microsoft's 70-506 exam

Microsoft's 70-506 exam covers the .NET-based framework for building applications that run inside a Web browser, known as Silverlight. More recently, a specialized version called "Silverlight for Windows Phone" is one of the development environments used with Microsoft's Windows Phone.

The pages under the "Silverlight" menu of this website were created as preparation for the 70-506 exam. I reviewed and made updates to the pages after passing the exam. Microsoft's Exam: 70-506 TS: Silverlight 4, Development covers the following topics:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.

Reference Articles


Top