Here’s a quick rundown (mostly of the slide content) presented by Joe Stegman. View the session.
As I mentioned in my previous post, there were a couple of nice surprises that I didn’t believe wouldn’t make version 3, but in addition to those there are a ton of new features as listed below.
Graphics
- Perspective 3D
- Rotate any visual object by its X/Y/Z axes
- Effects and Pixel Shaders
- Pixel APIs
- Dynamic bitmap generation
- Render a visual tree (elements) to a bitmap
- Image editing and effects
- Clone visuals
- DirectX SDK used to generate
Raw Audio/Video APIs
- Dynamic sound generation
- Custom audio/video decoders
Local Messaging
- Cross plug-in Silverlight communication: cross plug-in/tab/browser/out-of-browser
- Shared memory implementation
- Exposed like "named pipes"
- String based messages only (no byte-based, maybe later based on feedback)
- Same domain required with opt-in
UI Framework Improvements
- Merged Resource Dictionaries
- BasedOn Styles
- Styles can be “cleared”
- Multi-select ListBox
- Listening to “handled” routed events
- New VSM “Invalid” states
- Supported on TextBox, CheckBox, ComboBox, ListBox, RadioButton, PasswordBox (coming later)
Other Improvements
- SystemColors
- Especially useful for “high contrast” settings
- Text Improvements
- ClearType Text (post beta)
- CaretBrush (SL 2 caret was black)
- Flag to optimize for animating text
- Glyphs support for system font
- Image Refinements
- Getting size
- Bypass cache
New SDK Controls
- DockPanel
- Expander
- Label
- etc
Other Big Additions
- Save File Dialog
- Navigation Framework
- “Native” integration with the browser history
- Data Control Additions
- SEO Support
- n-Tier data support
- Binary XML, SOAP faults, Credentials
Out of Browser
- Silverlight runs sandboxed on desktop
- Built into the core Silverlight runtime
- Enabled per “application”
- More storage space by default: 25MB
- User gesture required to take “out of browser”
- Right-click context menu option
- Custom buttons (user action required to trigger event)
- New networking APIs
- Connected, disconnected and changed state
- Available in the browser, too
- Offline APIs
- Launch state, update APIs
- Add icon to install dialog
- “Take a XAP offline” – easy to deploy if everything is in the XAP. Doesn’t have to be.
Miscellaneous
- No printing support.
- No FlowDocument.
- 3 behavior changes that aren’t backwards compatible
- No Commanding support
- Isolated Storage performance problems fixed
c858f1a4-4c68-406a-b381-638b8368a668|0|.0