Silverlight Scenarios Map

image

The Microsoft Silverlight Scenarios Map is a consolidated and shared view of the common scenarios and tasks developing Silverlight applications. You will find Getting Started and Architecture scenarios first, followed by other common areas. Scenarios in each group should represent common tasks developers for this medium would face.

Your call to action here is simply scan the Silverlight Scenarios Map below and either share your scenarios in the comments or email your scenarios to me at FeedbackAndThoughts at live.com.  Be sure to share your scenarios in the form of “how to blah, blah, blah …” – this makes it much easier to act on and update the map.

For a quick review of what a good Scenarios Map looks like, see my related post, 5 Keys to Effective Scenario Maps.

Categories

  • Getting Started 
  • Architecture and Design
  • Animation
  • COM
  • Controls
  • Data Access
  • Data Binding
  • Deep Zoom
  • Deployment
  • Events and Delegates
  • Graphics and 3D
  • HTML Bridge
  • Layout
  • Local Resources
  • Localization
  • Networking / Communication
  • Out-of-Browser
  • Performance
  • Styles and Templates
  • Text and Rich Text
  • Unit Testing
  • User Controls
  • Video and Audio
  • WCF RIA Services
  • XAML
  • Visual States
  • Navigation
  • Model, View, ViewModel pattern (MVVM)
  • Project

Silverlight Scenarios Map

Category

Items

Getting Started

  • How to set up your development environment for Silverlight development.
  • How to write your first Silverlight application.
  • How to write your first out-of-browser Silverlight application.

Architecture and Design

  • How to design a Silverlight application based on the MVVP pattern.
  • How to recognize scenarios suited for the MVVM pattern.

Animation

  • How to animate an object
  • How to animate programmatically
  • How to use a timer
  • How to get started with storyboarding
  • How to slide a control in and out of view with storyboarding

COM

  • How to Interoperate with COM Applications

Controls

  • How to Display Data in a ListBox
  • How to Add a Control to the Toolbox
  • How to Add Tab Items to a Tab Control
  • How to Create User-Resizable Applications with GridSplitter
  • How to Handle the Checked Event for the CheckBox Control
  • How to Change the Appearance and Behavior of the AutoCompleteBox Control
  • How to Enable Silverlight Controls as Drag and Drop Targets
  • How to Create User-Resizable Applications using layout controls
  • How to use the progress bar
  • How to use the Items Control
  • How to implement a dependency Property
  • How to display data in a DataGrid
  • How to style a DataGrid control
  • How to add a custom template for a selected item with DataGrid
  • How to specify data context for a control
  • How to add tip text for a control
  • How to add controls to the content of another control (such as graphics and text for button or )

Data Access

  • How to Store and Retrieve Application Settings Using Isolated Storage
  • How to Perform Isolated Storage Tasks
  • How to Encrypt and Signing Isolated Storage Files

Data Binding

  • How to bind to a DataContext
  • How to Create a Binding
  • How to use value converters to transform data classes for display
  • How to Bind to Hierarchical Data and Create a Master/Details View
  • How to Validate Data with Data Annotations
  • How to use commanding
  • How to implement INotifyPropertyChanged and ObservableCollections
  • How to maximize control reuse by understanding data binding and how it climbs the ui elements to find a data source
  • How to validate data with data binding and validators
  • How to Customize Data Display with Data Templates
  • How to use Data Annotations to Customize Data Classes

Deep Zoom

  • How to use deep zoom in Silverlight
  • How to implement a collection image vs a single image in Deep Zoom
  • How to create a custom multi scale image
  • How to create image layers on a deep zoom image
  • How to use the DeepZoomTools.dll
  • How to create a HttpHandler to serve images to Deep Zoom

Deployment

  • How to download dependencies on-demand
  • How to Configure an Application for Out-of-Browser Support
  • How to Implement Offline Support for Out-of-Browser Applications
  • How to Add Resources to a Silverlight-based Application
  • How to Sign XAP’s for Trusted Applications
  • How to divide a large application into separate XAPs

Events and Delegates

  • How to Define and Execute Dynamic Methods
  • How to Hook Up a Delegate Using Reflection
  • How to Define a Generic Type with Reflection Emit
  • How to Define a Generic Method with Reflection Emit

Graphics and 3D

  • How to crop an object
  • How to use pixel shader effects
  • How to use transforms
  • How to use deep zoom in Silverlight
  • How to create a timer
  • How to programmatically animate
  • How to use 3-D effects
  • How to slide a control in and out of view
  • How to fade a control in and out
  • How to spin a control
  • How to shake a control
  • How to zoom in a control
  • How to zoom out a control
  • How to flip a control

HTML Bridge

  • How to pass values to/from Silverlight and host (asp.net/javascript) page
  • How to call JavaScript functions from Silverlight.
  • How to invoke Silverlight code from an HTML page event.
  • How to call Silverlight managed types from JavaScript.
  • How to programmatically alter/affect Silverlight managed types from JavaScript.
  • How to pass a Silverlight managed type to a JavaScript function.

Layout

  • How to use the Canvas control
  • How to use the Grid control

Local Resources

  • How to Perform Isolated Storage Tasks
  • How to Access the Clipboard
  • How to Access Files
  • How to Store and Retrieve Application Settings Using Isolated Storage Core
  • How to Print

Localization

  • How to Make XAML Content Localizable
  • How to Combine Localizable Strings at Run Time
  • How to Make Rich Text Strings Localizable
  • How to Make Non-String Values Localizable
  • How to Make Non-Dependency Properties Localizable
  • How to Make Properties Localizable with Static Resources
  • How to Localize Information About an Out-of-Browser Application
  • How to Create a Build that Targets a Specific Culture
  • How to Implement Right-to-Left Support

Model, View, ViewModel pattern (MVVM)

  • How to implement a ViewModel
  • How to minimize the view’s code behind and why
  • How to use a view model (MVVM) for data binding

Navigation

  • How to implement navigation from page to page
  • How to implement deep linking in Silverlight
  • How to create a loading splash screen
  • How to implement a custom pop up window

Networking / Communication

  • How to get and set cookies
  • How to access web services from Silverlight
  • How to specify browser or client HTTP handling
  • How to download content on demand
  • How to access a RESTful service
  • How to detect changes in network status
  • How to serve up a cross domain policy file for a socket application
  • How to access a socket server from Silverlight
  • How to implement HTTPS
  • How to use a dispatcher for cross thread access
  • How to communicate to multiple, isolated Silverlight applications on a page
  • How to configure and deploy a cross domain policy file

Out-of-Browser

  • How to run under elevated privileges
  • How to Configure an Application for Out-of-Browser Support
  • How to Customize Window Chrome for Out-of-Browser Applications
  • How to Implement Offline Support for Out-of-Browser Applications

Performance

  • How to use a background worker
  • How to synchronize data for multi-threading
  • How to build an app for lazy initialization
  • How to use hardware acceleration

Project

  • How to create a Silverlight project
  • How to structure a Silverlight project
  • How to change your global error handler

Styles and Templates

  • How to set up a style for a button
  • How to reuse a style or template across a control, page or application
  • How to share a style throughout your entire Silverlight application
  • How to use multiple resource files

Text and Rich Text

  • How to render rich text.
  • How to export rich text.
  • How to accept text input and save as rich text.

Unit Testing

  • How to Unit Test Silverlight Applications and Assemblies.

User Controls

  • How to create a user control.
  • How to add a user control to your application.

Video and Audio

  • How to play an MP3 from Silverlight
  • How to handle MediaElement states
  • How to play streaming media
  • How to manage digital rights
  • How to continuously play an MP3 from Silverlight
  • How to access a webcam
  • How to access a microphone

Visual States

  • How to use visual states to control dynamic UI
  • How to use visual state groups and combination of groups

WCF RIA Services

  • How to use the Silverlight Business Application template
  • How to create a RIA Services class library
  • How to deploy a WCF RIA Solution
  • How to create unit tests for the middle tier
  • How to add/remove a RIA Services link
  • How to share code between a server (web) and client (Silverlight) application
  • How to share Data Annotations between a server (web) and client (Silverlight) application
  • How to configure services for different environments such as QA and Production

XAML

  • How to use namespaces and aliases.

Contributors and Reviewers

  • External Contributors / Reviewers – Adam Grocholski; Greg Cowin; Jeff Almeida; Will Clevenger
  • Microsoft Contributors / Reviewers - Jesse Liberty, Pete Brown, Sam Landstrom

My Related Posts